コード例 #1
0
        public void ModelAeNameIsSet_SiteAddressNameGetsSetAswell()
        {
            var model = new AddAeViewModel
            {
                Name = "test name"
            };

            Assert.Equal(model.Name, model.SiteAddressData.Name);
        }
コード例 #2
0
        public async Task AddAePost_ValidViewModelRequestWithCorrectParametersCreated()
        {
            var viewModel = new AddAeViewModel()
            {
                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(),
                ComplianceYear           = (Int16)2019
            };

            var 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());

            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.AddAe(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.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);
        }
コード例 #3
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);
        }
コード例 #4
0
        public async Task AddAePost_ValidViewModel_ReturnsRedirect()
        {
            var viewModel = new AddAeViewModel()
            {
                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));

            var result = await controller.AddAe(viewModel) as RedirectToRouteResult;

            result.RouteValues["action"].Should().Be("ManageAatfs");
            result.RouteValues["controller"].Should().Be("Aatf");
        }
コード例 #5
0
        public async Task AddAePost_ValidViewModel_CacheShouldBeInvalidated()
        {
            var viewModel = new AddAeViewModel()
            {
                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.AddAe(viewModel);

            A.CallTo(() => cache.InvalidateAatfCache(viewModel.OrganisationId)).MustHaveHappenedOnceExactly();
            A.CallTo(() => cache.InvalidateOrganisationSearch()).MustHaveHappened(Repeated.Exactly.Once);
        }
コード例 #6
0
 public async Task <ActionResult> AddAe(AddAeViewModel viewModel)
 {
     return(await AddFacility(viewModel));
 }