public void IndexDefaultTest(bool inContentAuthoringSiteAndNotPreview) { //Setup the fakes and dummies var repositoryFake = A.Fake <IJobProfileRepository>(ops => ops.Strict()); var loggerFake = A.Fake <IApplicationLogger>(); var webAppContextFake = A.Fake <IWebAppContext>(ops => ops.Strict()); // Set up calls A.CallTo(() => webAppContextFake.IsContentAuthoringAndNotPreviewMode).Returns(inContentAuthoringSiteAndNotPreview); //Instantiate & Act var jobProfileSettingsAndPreviewController = new JobProfileSettingsAndPreviewController(repositoryFake, webAppContextFake, loggerFake); //Act var indexResult = jobProfileSettingsAndPreviewController.WithCallTo(c => c.Index()); //Assert if (inContentAuthoringSiteAndNotPreview) { indexResult.ShouldRenderDefaultView().WithModel <JobProfileSettingsAndPreviewModel>(vm => { vm.DefaultJobProfileUrl.Should().BeEquivalentTo(jobProfileSettingsAndPreviewController.DefaultJobProfileUrlName); }) .AndNoModelErrors(); } else { indexResult.ShouldReturnEmptyResult(); } }
public void IndexDefaultUrlTest(string urlName, bool isContentAuthoringSite, bool expectation) { //Setup the fakes and dummies var repositoryFake = A.Fake <IJobProfileRepository>(ops => ops.Strict()); var loggerFake = A.Fake <IApplicationLogger>(); var webAppContextFake = A.Fake <IWebAppContext>(ops => ops.Strict()); // Set up calls A.CallTo(() => webAppContextFake.IsContentAuthoringSite).Returns(isContentAuthoringSite); A.CallTo(() => webAppContextFake.SetVocCookie(Constants.VocPersonalisationCookieName, A <string> ._)).DoesNothing(); //Instantiate & Act var jobProfileSettingsAndPreviewController = new JobProfileSettingsAndPreviewController(repositoryFake, webAppContextFake, loggerFake); //Act var indexResult = jobProfileSettingsAndPreviewController.WithCallTo(c => c.Index(urlName)); //Assert if (expectation) { indexResult.ShouldRenderDefaultView().WithModel <JobProfileSettingsAndPreviewModel>(vm => { vm.ShouldSetVocCookie.Should().Be(expectation); vm.VocSetPersonalisationCookieNameAndValue.Should().NotBeNullOrWhiteSpace(); vm.VocSetPersonalisationCookieNameAndValue.Should().Contain(urlName); }) .AndNoModelErrors(); } if (string.IsNullOrWhiteSpace(urlName) || isContentAuthoringSite) { indexResult.ShouldReturnEmptyResult(); } A.CallTo(() => webAppContextFake.SetVocCookie(Constants.VocPersonalisationCookieName, A <string> ._)).MustNotHaveHappened(); }