public void Is_False_When_ModifiedDate_Is_Late_And_OutOfScope(SectorTypes sector, ScopeStatuses scopeStatus) { var totalYearOffsets = 4; for (var yearOffset = 0; yearOffset < totalYearOffsets; yearOffset++) { // Arrange int testYear = VirtualDateTime.Now.Year - yearOffset; DateTime snapshotDate = sector.GetAccountingStartDate(testYear); DateTime nextSnapshotDate = snapshotDate.AddYears(1); DateTime modifiedDate = nextSnapshotDate.AddDays(2); Organisation testOrganisation = sector == SectorTypes.Private ? OrganisationHelper.GetPrivateOrganisation() : OrganisationHelper.GetPublicOrganisation(); OrganisationScope testScope = ScopeHelper.CreateScope(scopeStatus, snapshotDate); Return testReturn = ReturnHelper.CreateLateReturn(testOrganisation, snapshotDate, modifiedDate, testScope); // Act bool actual = testReturn.IsLateSubmission; // Assert Assert.AreEqual(false, actual); } }
public async Task DraftFile_GetDraftFile_Returns_A_Valid_DraftAsync() { // Arrange User mockedUser = UserHelper.GetNotAdminUserWithVerifiedEmailAddress(); Organisation mockedOrganisation = OrganisationHelper.GetPublicOrganisation(); mockedOrganisation.OrganisationId = new Random().Next(1000, 9999); UserOrganisation mockedUserOrganisation = UserOrganisationHelper.LinkUserWithOrganisation(mockedUser, mockedOrganisation); Return mockedReturn = ReturnHelper.GetSubmittedReturnForOrganisationAndYear(mockedUserOrganisation, ConfigHelpers.SharedOptions.FirstReportingYear); OrganisationHelper.LinkOrganisationAndReturn(mockedOrganisation, mockedReturn); var testDraftFileBL = new DraftFileBusinessLogic(null, new SystemFileRepository(new StorageOptions())); var sharedBusinessLogic = UiTestHelper.DIContainer.Resolve <ISharedBusinessLogic>(); var testSubmissionService = new SubmissionService(sharedBusinessLogic, Mock.Of <ISubmissionBusinessLogic>(), Mock.Of <IScopeBusinessLogic>(), testDraftFileBL); var testPresenter = new SubmissionPresenter(testSubmissionService, ConfigHelpers.SubmissionOptions, null); // Act Draft actualDraft = await testPresenter.GetDraftFileAsync( mockedOrganisation.OrganisationId, mockedOrganisation.SectorType.GetAccountingStartDate().Year, mockedUser.UserId); // Assert Assert.NotNull(actualDraft); Assert.True(actualDraft.IsUserAllowedAccess); Assert.AreEqual(mockedUser.UserId, actualDraft.LastWrittenByUserId); // Clean up await testDraftFileBL.DiscardDraftAsync(actualDraft); }
public void BeforeEach() { _testOrganisation = OrganisationHelper.GetPublicOrganisation(); var mocked2017Return = ReturnHelper.CreateTestReturn(_testOrganisation); OrganisationHelper.LinkOrganisationAndReturn(_testOrganisation, mocked2017Return); var mocked2018Return = ReturnHelper.CreateTestReturn(_testOrganisation, 2018); OrganisationHelper.LinkOrganisationAndReturn(_testOrganisation, mocked2018Return); }
public async Task AdminController_ManualChanges_POST_Delete_Submissions_Works_When_Run_In_Test_Mode_Async() { // Arrange User databaseAdminUser = UserHelper.GetDatabaseAdmin(); Core.Entities.Organisation publicOrganisationWithSubmissionsToBeDeleted = OrganisationHelper.GetPublicOrganisation("EmployerReference05"); Return mockedReturn = ReturnHelper.CreateTestReturn( publicOrganisationWithSubmissionsToBeDeleted, VirtualDateTime.Now.AddYears(-1).Year); var testController = UiTestHelper.GetController <AdminController>( databaseAdminUser.UserId, null, databaseAdminUser, publicOrganisationWithSubmissionsToBeDeleted, mockedReturn); var manualChangesViewModelMock = Mock.Of <ManualChangesViewModel>(); manualChangesViewModelMock.Command = DeleteSubmissionsCommand; manualChangesViewModelMock.Parameters = $"{publicOrganisationWithSubmissionsToBeDeleted.EmployerReference}={mockedReturn.AccountingDate.Year}"; // Act IActionResult actualManualChangesResult = await testController.ManualChanges(manualChangesViewModelMock); // Assert Assert.NotNull(actualManualChangesResult, "Expected a Result"); var manualChangesViewResult = actualManualChangesResult as ViewResult; Assert.NotNull(manualChangesViewResult, "Expected ViewResult"); var actualManualChangesViewModel = manualChangesViewResult.Model as ManualChangesViewModel; Assert.NotNull(actualManualChangesViewModel, "Expected ManualChangesViewModel"); Assert.Multiple( () => { Assert.AreEqual("SUCCESSFULLY TESTED 'Delete submissions': 1 of 1", actualManualChangesViewModel.SuccessMessage); Assert.AreEqual( $"1: EMPLOYERREFERENCE05: Org123 Year='{VirtualDateTime.Now.AddYears(-1).Year}' Status='Submitted' set to 'Deleted'\r\n", actualManualChangesViewModel.Results); Assert.AreEqual("Delete submissions", actualManualChangesViewModel.LastTestedCommand); Assert.AreEqual( $"EmployerReference05={mockedReturn.AccountingDate.Year}", actualManualChangesViewModel.LastTestedInput); Assert.True(actualManualChangesViewModel.Tested, "Must be tested=true as this case is running in TEST mode"); Assert.IsNull(actualManualChangesViewModel.Comment); }); }
public async Task AdminController_ManualChanges_POST_Convert_Public_To_Private_Works_When_Run_In_Test_Mode_Async() { // Arrange Core.Entities.Organisation publicOrganisationToBeChangedToPrivate = OrganisationHelper.GetPublicOrganisation("EmployerReference03"); #region setting up database and controller User notAdminUser = UserHelper.GetDatabaseAdmin(); var adminController = UiTestHelper.GetController <AdminController>(notAdminUser.UserId, null, null); Mock <IDataRepository> configurableDataRepository = AutoFacExtensions.ResolveAsMock <IDataRepository>(); configurableDataRepository .Setup(x => x.Get <User>(It.IsAny <long>())) .Returns(notAdminUser); configurableDataRepository .Setup(x => x.GetAll <Core.Entities.Organisation>()) .Returns(new[] { publicOrganisationToBeChangedToPrivate }.AsQueryable().BuildMock().Object); var manualChangesViewModel = new ManualChangesViewModel { Command = ConvertPublicToPrivateCommand, Parameters = publicOrganisationToBeChangedToPrivate.EmployerReference }; #endregion // Act IActionResult manualChangesResult = await adminController.ManualChanges(manualChangesViewModel); // Assert Assert.NotNull(manualChangesResult, "Expected a Result"); var manualChangesViewResult = manualChangesResult as ViewResult; Assert.NotNull(manualChangesViewResult, "Expected ViewResult"); var actualManualChangesViewModel = manualChangesViewResult.Model as ManualChangesViewModel; Assert.NotNull(actualManualChangesViewModel, "Expected ManualChangesViewModel"); Assert.Multiple( () => { Assert.AreEqual("SUCCESSFULLY TESTED 'Convert public to private': 1 of 1", actualManualChangesViewModel.SuccessMessage); Assert.AreEqual( "1: EMPLOYERREFERENCE03: Org123 sector Public set to 'Private'\r\n", actualManualChangesViewModel.Results); Assert.AreEqual(ConvertPublicToPrivateCommand, actualManualChangesViewModel.LastTestedCommand); Assert.AreEqual("EmployerReference03", actualManualChangesViewModel.LastTestedInput); Assert.True(actualManualChangesViewModel.Tested, "Must be tested=true as this case is running in TEST mode"); Assert.IsNull(actualManualChangesViewModel.Comment); }); }
public async Task AdminController_ManualChanges_POST_Delete_Submissions_Fails_When_No_Parameters_Are_Provided_Async( string nullOrEmptyParameter) { // Arrange User databaseAdminUser = UserHelper.GetDatabaseAdmin(); Core.Entities.Organisation publicOrganisationWithSubmissionsToBeDeleted = OrganisationHelper.GetPublicOrganisation("EmployerReference05"); Return mockedReturn = ReturnHelper.CreateTestReturn( publicOrganisationWithSubmissionsToBeDeleted, VirtualDateTime.Now.AddYears(-1).Year); var testController = UiTestHelper.GetController <AdminController>( databaseAdminUser.UserId, null, databaseAdminUser, publicOrganisationWithSubmissionsToBeDeleted, mockedReturn); var manualChangesViewModelMock = Mock.Of <ManualChangesViewModel>(); manualChangesViewModelMock.Command = DeleteSubmissionsCommand; manualChangesViewModelMock.Parameters = nullOrEmptyParameter; // Act IActionResult actualManualChangesResult = await testController.ManualChanges(manualChangesViewModelMock); // Assert Assert.NotNull(actualManualChangesResult, "Expected a Result"); var manualChangesViewResult = actualManualChangesResult as ViewResult; Assert.NotNull(manualChangesViewResult, "Expected ViewResult"); var actualManualChangesViewModel = manualChangesViewResult.Model as ManualChangesViewModel; Assert.NotNull(actualManualChangesViewModel, "Expected ManualChangesViewModel"); ModelStateEntry modelState = testController.ModelState[""]; ModelError reportedError = modelState.Errors.First(); Assert.AreEqual("ERROR: You must supply 1 or more input parameters", reportedError.ErrorMessage); Assert.IsNull(actualManualChangesViewModel.SuccessMessage); Assert.AreEqual("", actualManualChangesViewModel.Results); Assert.IsNull(actualManualChangesViewModel.LastTestedCommand); Assert.IsNull(actualManualChangesViewModel.LastTestedInput); Assert.False(actualManualChangesViewModel.Tested, "Must be false as this case has failed"); }
public async Task AdminController_ManualChanges_POST_Delete_Submissions_Fails_When_Year_Parameter_Is_Not_Valid_Async() { // Arrange User databaseAdminUser = UserHelper.GetDatabaseAdmin(); Core.Entities.Organisation publicOrganisationWithSubmissions = OrganisationHelper.GetPublicOrganisation("EmployerReference656262"); Return mockedReturn = ReturnHelper.CreateTestReturn(publicOrganisationWithSubmissions, VirtualDateTime.Now.AddYears(-1).Year); var testController = UiTestHelper.GetController <AdminController>( databaseAdminUser.UserId, null, databaseAdminUser, publicOrganisationWithSubmissions, mockedReturn); var manualChangesViewModelMock = Mock.Of <ManualChangesViewModel>(); manualChangesViewModelMock.Command = DeleteSubmissionsCommand; manualChangesViewModelMock.Parameters = "EmployerReference656262=Invalid_Year_Parameter"; // Act IActionResult actualManualChangesResult = await testController.ManualChanges(manualChangesViewModelMock); // Assert Assert.NotNull(actualManualChangesResult, "Expected a Result"); var manualChangesViewResult = actualManualChangesResult as ViewResult; Assert.NotNull(manualChangesViewResult, "Expected ViewResult"); var actualManualChangesViewModel = manualChangesViewResult.Model as ManualChangesViewModel; Assert.NotNull(actualManualChangesViewModel, "Expected ManualChangesViewModel"); Assert.Multiple( () => { Assert.AreEqual("SUCCESSFULLY TESTED 'Delete submissions': 0 of 1", actualManualChangesViewModel.SuccessMessage); Assert.AreEqual( "<span style=\"color:Red\">1: ERROR: 'EMPLOYERREFERENCE656262' invalid year 'Invalid_Year_Parameter'</span>\r\n", actualManualChangesViewModel.Results); Assert.AreEqual("Delete submissions", actualManualChangesViewModel.LastTestedCommand); Assert.AreEqual("EmployerReference656262=Invalid_Year_Parameter", actualManualChangesViewModel.LastTestedInput); Assert.True(actualManualChangesViewModel.Tested, "Must be tested=true as this case is running in TEST mode"); Assert.IsNull(actualManualChangesViewModel.Comment); }); }
public async Task AdminController_ManualChanges_POST_Delete_Submissions_Fails_When_Return_Is_Not_On_The_Database_Async() { // Arrange int yearToTest = VirtualDateTime.Now.AddYears(-1).Year; User databaseAdminUser = UserHelper.GetDatabaseAdmin(); Core.Entities.Organisation publicOrganisationWithSubmissionsToBeDeleted = OrganisationHelper.GetPublicOrganisation("EmployerReference99778"); var testController = UiTestHelper.GetController <AdminController>( databaseAdminUser.UserId, null, databaseAdminUser, publicOrganisationWithSubmissionsToBeDeleted); var manualChangesViewModelMock = Mock.Of <ManualChangesViewModel>(); manualChangesViewModelMock.Command = DeleteSubmissionsCommand; manualChangesViewModelMock.Parameters = $"{publicOrganisationWithSubmissionsToBeDeleted.EmployerReference}={yearToTest}"; // Act IActionResult actualManualChangesResult = await testController.ManualChanges(manualChangesViewModelMock); // Assert Assert.NotNull(actualManualChangesResult, "Expected a Result"); var manualChangesViewResult = actualManualChangesResult as ViewResult; Assert.NotNull(manualChangesViewResult, "Expected ViewResult"); var actualManualChangesViewModel = manualChangesViewResult.Model as ManualChangesViewModel; Assert.NotNull(actualManualChangesViewModel, "Expected ManualChangesViewModel"); Assert.AreEqual("SUCCESSFULLY TESTED 'Delete submissions': 0 of 1", actualManualChangesViewModel.SuccessMessage); Assert.AreEqual( $"<span style=\"color:Orange\">1: WARNING: 'EMPLOYERREFERENCE99778' Cannot find submitted data for year {yearToTest}</span>\r\n", actualManualChangesViewModel.Results); Assert.AreEqual("Delete submissions", actualManualChangesViewModel.LastTestedCommand); Assert.AreEqual($"EmployerReference99778={yearToTest}", actualManualChangesViewModel.LastTestedInput); Assert.True(actualManualChangesViewModel.Tested, "Must be tested=true as this case is running in TEST mode"); Assert.IsNull(actualManualChangesViewModel.Comment); }
public void OrganisationController_Manageorganisations_GET_When_Creates_New_Model() { // ARRANGE User mockUser = UserHelper.GetNotAdminUserWithVerifiedEmailAddress(); mockUser.UserSettings = new[] { new UserSetting(UserSettingKeys.AcceptedPrivacyStatement, VirtualDateTime.Now.ToString()) }; Core.Entities.Organisation mockOrg = OrganisationHelper.GetPublicOrganisation(); Core.Entities.Organisation mockOrg2 = OrganisationHelper.GetPublicOrganisation(); Core.Entities.Organisation mockOrg3 = OrganisationHelper.GetPublicOrganisation(); UserOrganisation mockUserOrg1 = UserOrganisationHelper.LinkUserWithOrganisation(mockUser, mockOrg); UserOrganisation mockUserOrg2 = UserOrganisationHelper.LinkUserWithOrganisation(mockUser, mockOrg2); UserOrganisation mockUserOrg3 = UserOrganisationHelper.LinkUserWithOrganisation(mockUser, mockOrg3); // route data var routeData = new RouteData(); routeData.Values.Add("action", "ManageOrganisations"); routeData.Values.Add("Controller", "Registrations"); var controller = UiTestHelper.GetController <ManageOrganisationsController>( -1, routeData, mockUser, mockOrg, mockOrg2, mockOrg3, mockUserOrg1, mockUserOrg2, mockUserOrg3); // Acts var result = controller.Home() as ViewResult; object actualUserOrganisationViewModel = result.Model; // Assert Assert.NotNull(result); Assert.NotNull(actualUserOrganisationViewModel); Assert.AreEqual(result.ViewName, "ManageOrganisations"); }
public void Is_True_When_ModifiedDate_Is_Late_And_InScope(SectorTypes sector, ScopeStatuses scopeStatus) { // Arrange int testYear = GetRandomReportingYear(ignoreYearsExcludedFromLateFlagEnforcement: true); DateTime snapshotDate = sector.GetAccountingStartDate(testYear); DateTime modifiedDate = ReportingYearsHelper.GetDeadlineForAccountingDate(snapshotDate).AddDays(2); Organisation testOrganisation = sector == SectorTypes.Private ? OrganisationHelper.GetPrivateOrganisation() : OrganisationHelper.GetPublicOrganisation(); OrganisationScope testScope = ScopeHelper.CreateScope(scopeStatus, snapshotDate); Return testReturn = ReturnHelper.CreateLateReturn(testOrganisation, snapshotDate, modifiedDate, testScope); // Act bool actual = testReturn.IsLateSubmission; // Assert Assert.AreEqual(true, actual); }
public void IsFalseWhenNotVoluntary(SectorTypes testSector, int testOrgSize, ScopeStatuses testScopeStatus) { // Arrange var testOrganisation = testSector == SectorTypes.Private ? OrganisationHelper.GetPrivateOrganisation() : OrganisationHelper.GetPublicOrganisation(); var snapshotDate = testSector.GetAccountingStartDate(VirtualDateTime.Now.Year); var testScope = ScopeHelper.CreateScope(testScopeStatus, snapshotDate); var testReturn = ReturnHelper.CreateTestReturn(testOrganisation, snapshotDate.Year); testReturn.MaxEmployees = testOrgSize; OrganisationHelper.LinkOrganisationAndReturn(testOrganisation, testReturn); OrganisationHelper.LinkOrganisationAndScope(testOrganisation, testScope, true); // Act var actual = testReturn.IsVoluntarySubmission(); // Assert Assert.IsFalse((bool)actual); }
public async Task RegistrationController_ConfirmOrganisation_Get_SuccessAsync() { // Arrange User mockUser = UserHelper.GetNotAdminUserWithVerifiedEmailAddress(); Core.Entities.Organisation mockOrg = OrganisationHelper.GetPublicOrganisation(); UserOrganisation mockUserOrg = UserOrganisationHelper.LinkUserWithOrganisation(mockUser, mockOrg); Return mockReturn = ReturnHelper.GetNewReturnForOrganisationAndYear(mockUserOrg, ConfigHelpers.SharedOptions.FirstReportingYear); OrganisationHelper.LinkOrganisationAndReturn(mockOrg, mockReturn); var mockRouteData = new RouteData(); mockRouteData.Values.Add("Action", "ServiceActivated"); mockRouteData.Values.Add("Controller", "Registration"); var controller = UiTestHelper.GetController <RegistrationController>(-1, mockRouteData, mockUser, mockOrg, mockUserOrg, mockReturn); controller.ReportingOrganisationId = mockOrg.OrganisationId; controller.StashModel(new OrganisationViewModel()); var testUri = new Uri("https://localhost/register/activate-service"); controller.AddMockUriHelper(testUri.ToString(), "ActivateService"); //Mock the Referrer controller.Request.Headers["Referer"] = testUri.ToString(); var result = await controller.ConfirmOrganisation() as ViewResult; Assert.NotNull(result); Assert.AreEqual("ConfirmOrganisation", result.ViewName); }
public void CreateDraftSubmissionFromViewModel_Converts_View_Model_to_Return() { Organisation mockedOrganisation = OrganisationHelper.GetPublicOrganisation(); var testModel = new ReturnViewModel { AccountingDate = new DateTime(1999, 4, 5), CompanyLinkToGPGInfo = "https://CompanyLinkToGPGInfo", DiffMeanBonusPercent = 100, DiffMeanHourlyPayPercent = 99, DiffMedianBonusPercent = 98, DiffMedianHourlyPercent = 97, FemaleLowerPayBand = 96, FemaleMedianBonusPayPercent = 95, FemaleMiddlePayBand = 94, FemaleUpperPayBand = 93, FemaleUpperQuartilePayBand = 92, FirstName = "Test", LastName = "User", JobTitle = "QA", MaleLowerPayBand = 91, MaleMedianBonusPayPercent = 90, MaleUpperQuartilePayBand = 89, MaleMiddlePayBand = 88, MaleUpperPayBand = 87, OrganisationId = mockedOrganisation.OrganisationId, OrganisationSize = OrganisationSizes.Employees250To499, LateReason = "A LateReason" }; // Mocks var testService = new SubmissionService( mockDataRepo.Object, mockScopeBL.Object, _mockDraftFileBL.Object); mockDataRepo.Setup(x => x.Get <Organisation>(It.IsAny <long>())).Returns(mockedOrganisation); // Assert Return testReturn = testService.CreateDraftSubmissionFromViewModel(testModel); var testOrgSizeRange = testModel.OrganisationSize.GetAttribute <RangeAttribute>(); Expect(testReturn.AccountingDate == testModel.AccountingDate); Expect(testReturn.CompanyLinkToGPGInfo == testModel.CompanyLinkToGPGInfo); Expect(testReturn.DiffMeanBonusPercent == testModel.DiffMeanBonusPercent.Value); Expect(testReturn.DiffMeanHourlyPayPercent == testModel.DiffMeanHourlyPayPercent.Value); Expect(testReturn.DiffMedianBonusPercent == testModel.DiffMedianBonusPercent.Value); Expect(testReturn.DiffMedianHourlyPercent == testModel.DiffMedianHourlyPercent.Value); Expect(testReturn.FemaleLowerPayBand == testModel.FemaleLowerPayBand.Value); Expect(testReturn.FemaleMedianBonusPayPercent == testModel.FemaleMedianBonusPayPercent.Value); Expect(testReturn.FemaleMiddlePayBand == testModel.FemaleMiddlePayBand.Value); Expect(testReturn.FemaleUpperPayBand == testModel.FemaleUpperPayBand.Value); Expect(testReturn.FemaleUpperQuartilePayBand == testModel.FemaleUpperQuartilePayBand.Value); Expect(testReturn.FirstName == testModel.FirstName); Expect(testReturn.LastName == testModel.LastName); Expect(testReturn.JobTitle == testModel.JobTitle); Expect(testReturn.MaleLowerPayBand == testModel.MaleLowerPayBand.Value); Expect(testReturn.MaleMedianBonusPayPercent == testModel.MaleMedianBonusPayPercent.Value); Expect(testReturn.MaleUpperQuartilePayBand == testModel.MaleUpperQuartilePayBand.Value); Expect(testReturn.MaleMiddlePayBand == testModel.MaleMiddlePayBand.Value); Expect(testReturn.MaleUpperPayBand == testModel.MaleUpperPayBand.Value); Expect(testReturn.Status == ReturnStatuses.Draft); Expect(testReturn.OrganisationId == testModel.OrganisationId); Expect(testReturn.MinEmployees == (int)testOrgSizeRange.Minimum); Expect(testReturn.MaxEmployees == (int)testOrgSizeRange.Maximum); Expect(testReturn.LateReason == testModel.LateReason); }
public async Task AdminController_ManualChanges_POST_Delete_Submissions_Succeeds_Changing_Submitted_To_Deleted_Many_Returns_Async() { // Arrange User databaseAdminUser = UserHelper.GetDatabaseAdmin(); Core.Entities.Organisation publicOrganisationWithSubmissionsToBeDeleted = OrganisationHelper.GetPublicOrganisation("EmployerReference549549"); Return mockedReturn = ReturnHelper.CreateTestReturn( publicOrganisationWithSubmissionsToBeDeleted, VirtualDateTime.Now.AddYears(-1).Year); mockedReturn.ReturnId = new Random().Next(10000, 99999); publicOrganisationWithSubmissionsToBeDeleted.LatestReturn = mockedReturn; publicOrganisationWithSubmissionsToBeDeleted.Returns.Add(mockedReturn); mockedReturn.Organisation = publicOrganisationWithSubmissionsToBeDeleted; Return additionalMockedReturn = ReturnHelper.CreateTestReturn( publicOrganisationWithSubmissionsToBeDeleted, VirtualDateTime.Now.AddYears(-1).Year); additionalMockedReturn.ReturnId = new Random().Next(10000, 99999); additionalMockedReturn.StatusDate = additionalMockedReturn.StatusDate.AddDays(-3); publicOrganisationWithSubmissionsToBeDeleted.Returns.Add(additionalMockedReturn); // This will be found by search on line 1051 var testController = UiTestHelper.GetController <AdminController>( databaseAdminUser.UserId, null, databaseAdminUser, publicOrganisationWithSubmissionsToBeDeleted, mockedReturn, additionalMockedReturn); var manualChangesViewModelMock = Mock.Of <ManualChangesViewModel>(); manualChangesViewModelMock.Command = DeleteSubmissionsCommand; manualChangesViewModelMock.Parameters = $"{publicOrganisationWithSubmissionsToBeDeleted.EmployerReference}={mockedReturn.AccountingDate.Year}"; // Act IActionResult actualManualChangesResult = await testController.ManualChanges(manualChangesViewModelMock); // Assert Assert.NotNull(actualManualChangesResult, "Expected a Result"); var manualChangesViewResult = actualManualChangesResult as ViewResult; Assert.NotNull(manualChangesViewResult, "Expected ViewResult"); var actualManualChangesViewModel = manualChangesViewResult.Model as ManualChangesViewModel; Assert.NotNull(actualManualChangesViewModel, "Expected ManualChangesViewModel"); Assert.AreEqual("SUCCESSFULLY TESTED 'Delete submissions': 1 of 1", actualManualChangesViewModel.SuccessMessage); Assert.AreEqual( $"1: EMPLOYERREFERENCE549549: Org123 Year='{mockedReturn.AccountingDate.Year}' Status='Submitted' set to 'Deleted'\r\n", actualManualChangesViewModel.Results); Assert.AreEqual("Delete submissions", actualManualChangesViewModel.LastTestedCommand); Assert.AreEqual($"EmployerReference549549={mockedReturn.AccountingDate.Year}", actualManualChangesViewModel.LastTestedInput); Assert.True(actualManualChangesViewModel.Tested, "Must be tested=true as this case is running in TEST mode"); Assert.IsNull(actualManualChangesViewModel.Comment); }