public void ModelAatfNameIsSet_SiteAddressNameGetsSetAswell() { var model = new AddAatfViewModel(); model.Name = "test name"; Assert.Equal(model.Name, model.SiteAddressData.Name); }
public async Task AddAatfPost_ValidViewModelRequestWithCorrectParametersCreated() { A.CallTo(() => weeeClient.SendAsync(A <string> ._, A <GetApiUtcDate> ._)).Returns(new DateTime(2019, 1, 1)); AddAatfViewModel viewModel = new AddAatfViewModel() { Name = "name", ApprovalNumber = "123", ApprovalDate = DateTime.Now, SiteAddressData = A.Fake <AatfAddressData>(), SizeValue = 1, StatusValue = 1, OrganisationId = Guid.NewGuid(), ContactData = A.Fake <AatfContactData>(), CompetentAuthoritiesList = A.Fake <List <UKCompetentAuthorityData> >(), CompetentAuthorityId = Guid.NewGuid().ToString(), PanAreaList = A.Fake <List <PanAreaData> >(), PanAreaId = Guid.NewGuid(), LocalAreaList = A.Fake <List <LocalAreaData> >(), LocalAreaId = Guid.NewGuid(), ComplianceYear = (Int16)2019 }; AatfData aatfData = new AatfData( Guid.NewGuid(), viewModel.Name, viewModel.ApprovalNumber, viewModel.ComplianceYear, viewModel.CompetentAuthoritiesList.FirstOrDefault(p => p.Id == Guid.Parse(viewModel.CompetentAuthorityId)), Enumeration.FromValue <AatfStatus>(viewModel.StatusValue), viewModel.SiteAddressData, Enumeration.FromValue <AatfSize>(viewModel.SizeValue), viewModel.ApprovalDate.GetValueOrDefault(), viewModel.PanAreaList.FirstOrDefault(p => p.Id == viewModel.PanAreaId), viewModel.LocalAreaList.FirstOrDefault(p => p.Id == viewModel.LocalAreaId)); var validationResult = new ValidationResult(); A.CallTo(() => validationWrapper.Validate(A <string> ._, viewModel)).Returns(validationResult); await controller.AddAatf(viewModel); A.CallTo(() => weeeClient.SendAsync(A <string> ._, A <AddAatf> .That.Matches( p => p.OrganisationId == viewModel.OrganisationId && p.Aatf.Name == aatfData.Name && p.Aatf.ApprovalNumber == aatfData.ApprovalNumber && p.Aatf.CompetentAuthority == aatfData.CompetentAuthority && p.Aatf.PanAreaData == aatfData.PanAreaData && p.Aatf.LocalAreaData == aatfData.LocalAreaData && p.Aatf.AatfStatus == aatfData.AatfStatus && p.Aatf.SiteAddress == aatfData.SiteAddress && p.Aatf.Size == aatfData.Size && p.Aatf.ApprovalDate == aatfData.ApprovalDate && p.AatfContact == viewModel.ContactData))).MustHaveHappened(Repeated.Exactly.Once); A.CallTo(() => weeeClient.SendAsync(A <string> ._, A <CompleteOrganisationAdmin> .That.Matches( p => p.OrganisationId == viewModel.OrganisationId))).MustHaveHappened(Repeated.Exactly.Once); }
public void RuleFor_ApiCallMustHaveHappened() { var viewModel = new AddAatfViewModel() { ApprovalNumber = "WEE/AZ1234AZ/ATF" }; var validationResult = validator.Validate(viewModel); A.CallTo(() => apiClient.SendAsync(A <string> ._, A <CheckApprovalNumberIsUnique> .That.Matches(c => c.ApprovalNumber == viewModel.ApprovalNumber))).MustHaveHappened(Repeated.Exactly.Once); }
public void RuleFor_RequestReturnsTrue_IsValidShouldBeFalse() { var exists = true; var viewModel = new AddAatfViewModel() { ApprovalNumber = "WEE/AZ1234AZ/ATF" }; A.CallTo(() => apiClient.SendAsync(A <string> ._, A <CheckApprovalNumberIsUnique> .That.Matches(c => c.ApprovalNumber == viewModel.ApprovalNumber))).Returns(exists); var validationResult = validator.Validate(viewModel); validationResult.IsValid.Should().Be(false); }
public async Task AddGet_CreatesViewModel_ListsArePopulated() { var facilityType = fixture.Create <FacilityType>(); AddAatfViewModel viewModel = CreateAddAatfViewModel(); ViewResult result = await controller.Add(viewModel.OrganisationId, facilityType) as ViewResult; AddAatfViewModel resultViewModel = result.Model as AddAatfViewModel; Assert.Equal(viewModel.SizeList, resultViewModel.SizeList); Assert.Equal(viewModel.StatusList, resultViewModel.StatusList); Assert.Equal(viewModel.ContactData.AddressData.Countries, resultViewModel.ContactData.AddressData.Countries); Assert.Equal(viewModel.SiteAddressData.Countries, resultViewModel.SiteAddressData.Countries); Assert.Equal(viewModel.OrganisationId, resultViewModel.OrganisationId); }
public async Task AddAatfPost_Always_SetsInternalBreadcrumb(FacilityType facilityType, string expectedBreadcrumb) { AddAatfViewModel viewModel = new AddAatfViewModel() { SizeValue = 1, StatusValue = 1, FacilityType = facilityType }; A.CallTo(() => weeeClient.SendAsync(A <string> ._, A <GetApiUtcDate> ._)).Returns(new DateTime(2019, 1, 1)); await controller.AddAatf(viewModel); Assert.Equal(expectedBreadcrumb, breadcrumbService.InternalActivity); }
public async Task AddAePost_ApprovalNumberExists_ReturnsViewWithViewModelAndErrorMessage() { AddAeViewModel viewModel = CreateAddAeViewModel(); A.CallTo(() => weeeClient.SendAsync(A <string> ._, A <CheckApprovalNumberIsUnique> .That.Matches( p => p.ApprovalNumber == viewModel.ApprovalNumber))).Returns(true); ViewResult result = await controller.AddAe(viewModel) as ViewResult; AddAatfViewModel resultViewModel = result.Model as AddAatfViewModel; IEnumerable <ModelError> allErrors = controller.ModelState.Values.SelectMany(v => v.Errors); ModelError error = allErrors.FirstOrDefault(p => p.ErrorMessage == Constants.ApprovalNumberExistsError); Assert.NotNull(error); }
public async Task AddAatfPost_InvalidViewModel_ReturnsViewWithViewModelPopulatedWithLists() { controller.ModelState.AddModelError("error", "error"); AddAatfViewModel viewModel = CreateAddAatfViewModel(); ViewResult result = await controller.AddAatf(viewModel) as ViewResult; AddAatfViewModel resultViewModel = result.Model as AddAatfViewModel; Assert.True(string.IsNullOrEmpty(result.ViewName) || result.ViewName == "Add"); Assert.Equal(viewModel.SizeList, resultViewModel.SizeList); Assert.Equal(viewModel.StatusList, resultViewModel.StatusList); Assert.Equal(viewModel.ContactData.AddressData.Countries, resultViewModel.ContactData.AddressData.Countries); Assert.Equal(viewModel.SiteAddressData.Countries, resultViewModel.SiteAddressData.Countries); Assert.Equal(viewModel.OrganisationId, resultViewModel.OrganisationId); }
public async Task AddAatfPost_ValidViewModel_ReturnsRedirect() { AddAatfViewModel viewModel = new AddAatfViewModel() { SizeValue = 1, StatusValue = 1 }; var validationResult = new ValidationResult(); A.CallTo(() => validationWrapper.Validate(A <string> ._, viewModel)).Returns(validationResult); A.CallTo(() => weeeClient.SendAsync(A <string> ._, A <GetApiUtcDate> ._)).Returns(new DateTime(2019, 1, 1)); RedirectToRouteResult result = await controller.AddAatf(viewModel) as RedirectToRouteResult; result.RouteValues["action"].Should().Be("ManageAatfs"); result.RouteValues["controller"].Should().Be("Aatf"); }
public async Task AddAatfPost_ValidViewModel_CacheShouldBeInvalidated() { AddAatfViewModel viewModel = new AddAatfViewModel() { SizeValue = 1, StatusValue = 1, OrganisationId = Guid.NewGuid() }; var validationResult = new ValidationResult(); A.CallTo(() => validationWrapper.Validate(A <string> ._, viewModel)).Returns(validationResult); A.CallTo(() => weeeClient.SendAsync(A <string> ._, A <GetApiUtcDate> ._)).Returns(new DateTime(2019, 1, 1)); await controller.AddAatf(viewModel); A.CallTo(() => cache.InvalidateAatfCache(viewModel.OrganisationId)).MustHaveHappenedOnceExactly(); A.CallTo(() => cache.InvalidateOrganisationSearch()).MustHaveHappened(Repeated.Exactly.Once); }
public async Task <ActionResult> AddAatf(AddAatfViewModel viewModel) { return(await AddFacility(viewModel)); }