Beispiel #1
0
        public void ModelAatfNameIsSet_SiteAddressNameGetsSetAswell()
        {
            var model = new AddAatfViewModel();

            model.Name = "test name";

            Assert.Equal(model.Name, model.SiteAddressData.Name);
        }
Beispiel #2
0
        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);
        }
Beispiel #5
0
        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);
        }
Beispiel #6
0
        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);
        }
Beispiel #7
0
        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);
        }
Beispiel #8
0
        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);
        }
Beispiel #9
0
        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");
        }
Beispiel #10
0
        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);
        }
Beispiel #11
0
 public async Task <ActionResult> AddAatf(AddAatfViewModel viewModel)
 {
     return(await AddFacility(viewModel));
 }