public void IndexUrlNameTest(string urlName, bool validJobProfile, bool isContentPreviewMode) { //Set up comman call SetUpDependeciesAndCall(validJobProfile, isContentPreviewMode); //Instantiate & Act using (var jobprofileController = new JobProfileDetailsController( webAppContextFake, repositoryFake, loggerFake, sitefinityPage, mapperCfg.CreateMapper(), asyncHelper, searchQueryService)) { //Act var indexWithUrlNameMethodCall = jobprofileController.WithCallTo(c => c.Index(urlName)); if (validJobProfile) { indexWithUrlNameMethodCall .ShouldRenderDefaultView() .WithModel <JobProfileDetailsViewModel>(vm => { vm.SalaryText.Should().BeEquivalentTo(jobprofileController.SalaryText); vm.HoursText.Should().BeEquivalentTo(jobprofileController.HoursText); vm.MaxAndMinHoursAreBlankText.Should().BeEquivalentTo(jobprofileController .MaxAndMinHoursAreBlankText); vm.HoursTimePeriodText.Should().BeEquivalentTo(jobprofileController.HoursTimePeriodText); vm.AlternativeTitle.Should().BeEquivalentTo(dummyJobProfile.AlternativeTitle); vm.SalaryRange.Should().BeEquivalentTo(dummyJobProfile.SalaryRange); vm.Overview.Should().BeEquivalentTo(dummyJobProfile.Overview); vm.Title.Should().BeEquivalentTo(dummyJobProfile.Title); vm.MaximumHours.Should().BeEquivalentTo(dummyJobProfile.MaximumHours.ToString()); vm.MinimumHours.Should().BeEquivalentTo(dummyJobProfile.MinimumHours.ToString()); vm.WorkingHoursDetails.Should().BeEquivalentTo(dummyJobProfile.WorkingHoursDetails); vm.WorkingPatternDetails.Should().BeEquivalentTo(dummyJobProfile.WorkingPatternDetails); vm.WorkingPattern.Should().BeEquivalentTo(dummyJobProfile.WorkingPattern); vm.SalaryStarter.Should().Be(starterSalary); vm.SalaryExperienced.Should().Be(experiencedSalary); vm.SalaryContextLink.Should().Be(jobprofileController.SalaryContextLink); vm.SalaryContextText.Should().Be(jobprofileController.SalaryContextText); }) .AndNoModelErrors(); } else { indexWithUrlNameMethodCall.ShouldGiveHttpStatus(404); } if (!isContentPreviewMode) { A.CallTo(() => repositoryFake.GetByUrlName(A <string> ._)).MustHaveHappened(); } else { A.CallTo(() => repositoryFake.GetByUrlNameForPreview(A <string> ._)).MustHaveHappened(); } } }
public void IndexTest(bool inContentAuthoringSite, bool isContentPreviewMode) { //Set up comman call SetUpDependeciesAndCall(true, isContentPreviewMode); //Set up calls particular to this test case A.CallTo(() => webAppContextFake.IsContentAuthoringSite).Returns(inContentAuthoringSite); //Instantiate & Act using (var jobprofileController = new JobProfileDetailsController( webAppContextFake, repositoryFake, loggerFake, sitefinityPage, mapperCfg.CreateMapper(), asyncHelper, searchQueryService)) { //Act var indexMethodCall = jobprofileController.WithCallTo(c => c.Index()); //Assert //should get back a default profile for design mode if (inContentAuthoringSite) { indexMethodCall .ShouldRenderDefaultView() .WithModel <JobProfileDetailsViewModel>(vm => { vm.SalaryText.Should().BeEquivalentTo(jobprofileController.SalaryText); vm.HoursText.Should().BeEquivalentTo(jobprofileController.HoursText); vm.MaxAndMinHoursAreBlankText.Should().BeEquivalentTo(jobprofileController .MaxAndMinHoursAreBlankText); vm.HoursTimePeriodText.Should().BeEquivalentTo(jobprofileController.HoursTimePeriodText); vm.AlternativeTitle.Should().BeEquivalentTo(dummyJobProfile.AlternativeTitle); vm.Overview.Should().BeEquivalentTo(dummyJobProfile.Overview); vm.Title.Should().BeEquivalentTo(dummyJobProfile.Title); vm.MaximumHours.Should().Be(dummyJobProfile.MaximumHours.ToString()); vm.MinimumHours.Should().BeEquivalentTo(dummyJobProfile.MinimumHours.ToString()); vm.WorkingHoursDetails.Should().BeEquivalentTo(dummyJobProfile.WorkingHoursDetails); vm.WorkingPatternDetails.Should().BeEquivalentTo(dummyJobProfile.WorkingPatternDetails); vm.WorkingPattern.Should().BeEquivalentTo(dummyJobProfile.WorkingPattern); vm.SalaryStarter.Should().Be(starterSalary); vm.SalaryExperienced.Should().Be(experiencedSalary); vm.SalaryContextLink.Should().Be(jobprofileController.SalaryContextLink); vm.SalaryContextText.Should().Be(jobprofileController.SalaryContextText); }) .AndNoModelErrors(); AssertActions(isContentPreviewMode); } else { indexMethodCall.ShouldRedirectTo("\\"); } } }