
Untitled
By: a guest on
May 7th, 2012 | syntax:
None | size: 2.22 KB | hits: 14 | expires: Never
My Test
[Test]
public void Rejected_Post_Success()
{
//init BO
Qualification qualification = NewQualification().WithQualificationStatus(Qualification.Statuses.Reviewed).Build();
QualificationComment qualificationComment = NewQualificationComment()
.WithQualification(qualification)
.WithComment("Test Comment")
.Build();
// Init controller.
//init Controller
QualificationsController controller = NewController().Authorised((u, q) => u.CanRejectQualification(q), qualification);
controller.QualificationService.Expect(svc => svc.CreateQualificationComment(CurrentUser,qualification.Id,"Test Comment")).Return(qualificationComment);
controller.QualificationService.Expect(svc => svc.RejectQualification(CurrentUser, qualification.Id));
// Do test.
ActionResult result = controller.Rejected(NewBoViewModelForPost<Qualification, QualificationRejectedViewModel>(qualification));
// Verify result.
result.ShouldBeRedirect(MVC.Qualifications.Qualifications.ActionNames.Details);
// Verify controller.
controller.ShouldHaveValidModelState();
}
/// my Controller
[HttpPost]
public virtual ActionResult Rejected(QualificationRejectedViewModel model)
{
VerifyAuthorised<Qualification>((u, o) => u.CanRejectQualification(o), model.Id);
bool success = false;
if (IsUserInputValid)
{
try
{
this.QualificationService.CreateQualificationComment(this.CurrentUser, model.Id, model.Comment);
this.QualificationService.RejectQualification(this.CurrentUser, model.Id);
success = true;
}
catch (BusinessLogicException e)
{
HandleBusinessLogicException(e);
}
}
return success ? RedirectToAction(MVC.Qualifications.Qualifications.Details(model.Id)) : RenderRejectView(model.Id);
}