public void IndexRedirectTest() { // Setup A.CallTo(() => fakeReportRepository.GetJobProfileApprenticeshipVacancyReport()).Returns(GetDummyReportData(1, 2)); A.CallTo(() => fakeWebAppContext.RequestQueryString).Returns(query); A.CallTo(() => fakeWebAppContext.GetCurrentQueryString(A <Dictionary <string, object> > ._)).Returns("http://url"); query.Add("NOTctx", "something"); // Assign var reportController = new ApprenticeshipVacancyReportController(fakeLoggingService, fakeReportRepository, fakeWebAppContext, fakeCachingPolicy); // Act var indexMethodCall = reportController.WithCallTo(c => c.Index()); // Assert indexMethodCall.ShouldRedirectTo("http://url"); A.CallTo(() => fakeReportRepository.GetJobProfileApprenticeshipVacancyReport()).MustNotHaveHappened(); }
public void IndexTest(int numberRecords, int numberOfApprenticeship) { // Setup A.CallTo(() => fakeReportRepository.GetJobProfileApprenticeshipVacancyReport()).Returns(GetDummyReportData(numberRecords, numberOfApprenticeship)); A.CallTo(() => fakeWebAppContext.RequestQueryString).Returns(query); A.CallTo(() => fakeCachingPolicy.Execute(fakeReportRepository.GetJobProfileApprenticeshipVacancyReport, A <CachePolicyType> ._, A <string> ._, A <string> ._)).Returns(GetDummyReportData(numberRecords, numberOfApprenticeship)); query.Add("ctx", "something"); // Assign var reportController = new ApprenticeshipVacancyReportController(fakeLoggingService, fakeReportRepository, fakeWebAppContext, fakeCachingPolicy); // Act var indexMethodCall = reportController.WithCallTo(c => c.Index()); // Assert indexMethodCall .ShouldRenderDefaultView() .WithModel <JobProfileApprenticeshipVacancyReportViewModel>(vm => { vm.ReportData.Should().HaveCount(numberRecords); int ii = 0; foreach (var r in vm.ReportData) { if (numberOfApprenticeship > 0) { r.AV1Title.Should().Contain("One"); } if (numberOfApprenticeship > 1) { r.AV2Title.Should().Contain("Two"); } r.Frameworks.Should().Be($"DummyFramework_1{ii}-(LARSF_1{ii})|DummyFramework_2{ii}-(LARSF_2{ii})"); r.Standards.Should().Be($"DummyStandard_1{ii}-(LARS_1{ii})|DummyStandard_2{ii}-(LARS_2{ii})"); ii++; } vm.ExecutionTime.Should().BeGreaterThan(TimeSpan.MinValue); }) .AndNoModelErrors(); A.CallTo(() => fakeCachingPolicy.Execute(fakeReportRepository.GetJobProfileApprenticeshipVacancyReport, A <CachePolicyType> ._, A <string> ._, A <string> ._)).MustHaveHappened(); }
public void IndexNullDataItemsTest() { // Setup A.CallTo(() => fakeReportRepository.GetJobProfileApprenticeshipVacancyReport()).Returns(GetDummyReportDataWithNulls()); A.CallTo(() => fakeWebAppContext.RequestQueryString).Returns(query); A.CallTo(() => fakeCachingPolicy.Execute(fakeReportRepository.GetJobProfileApprenticeshipVacancyReport, A <CachePolicyType> ._, A <string> ._, A <string> ._)).Returns(GetDummyReportDataWithNulls()); query.Add("ctx", "something"); // Assign var reportController = new ApprenticeshipVacancyReportController(fakeLoggingService, fakeReportRepository, fakeWebAppContext, fakeCachingPolicy); // Act var indexMethodCall = reportController.WithCallTo(c => c.Index()); // Assert indexMethodCall .ShouldRenderDefaultView() .WithModel <JobProfileApprenticeshipVacancyReportViewModel>(vm => { vm.ReportData.Should().HaveCount(1); }) .AndNoModelErrors(); }