public void it_should_update_an_entity_in_a_collection_by_its_id()
        {
            const int    expectedId   = 1;
            const string expectedName = "Name";
            var          licence      = new Licence
            {
                Id = expectedId,
                NamedIndividuals = new List <NamedIndividual>
                {
                    new NamedIndividual
                    {
                        Id       = expectedId,
                        FullName = string.Empty
                    }
                }
            };
            var model = new FullNameViewModel
            {
                FullName = expectedName
            };

            licenceRepository.GetById(expectedId).Returns(licence);
            repository.Upsert(Arg.Any <NamedIndividual>()).Returns(expectedId);

            var pdh    = new LicenceApplicationPostDataHandler(mapper, repository, licenceRepository, statusRepository, dateTimeProvider);
            var result = pdh.Update(expectedId, l => l.NamedIndividuals, model, expectedId);

            Assert.AreEqual(expectedId, result);
            repository.Received(1).Upsert(Arg.Is <NamedIndividual>(a => a.Id == expectedId && a.FullName.Equals(expectedName)));
        }
        public void it_should_create_new_licence_and_address_entities_and_return_the_licence_id()
        {
            const int expectedId = 1;

            var licence = new Licence {
                Id = 1
            };

            repository.Create <Licence>().Returns(licence);
            repository.Create <Address>().Returns(new Address());
            repository.Upsert(Arg.Any <Licence>()).ReturnsForAnyArgs(1);
            repository.GetById <Licence>(expectedId).Returns(licence);

            var pdh = new LicenceApplicationPostDataHandler(mapper, repository, licenceRepository, statusRepository,
                                                            dateTimeProvider);
            var result = pdh.Insert(new LicenceApplicationViewModel());

            Assert.AreEqual(expectedId, result);
            repository.Received().Create <Licence>();
            repository.Received().Create <Address>();
        }
        public void UpdateStatus(AdminLicenceViewModel model)
        {
            var statusChange = repository.Create <LicenceStatusChange>();

            statusChange.Licence               = repository.GetById <Licence>(model.Licence.Id);
            statusChange.DateCreated           = dateTimeProvider.Now();
            statusChange.Status                = repository.GetById <LicenceStatus>(model.NewLicenceStatus);
            statusChange.Reason                = repository.GetById <StatusReason>(model.NewStatusReason);
            statusChange.NonCompliantStandards = model.Standards.Where(x => x.Checked)
                                                 .Select(y => repository.GetById <LicenceStatusChangeLicensingStandard>(y.Id)).ToList();
            statusChange.Licence.CurrentStatusChange = statusChange;
            repository.Upsert(statusChange.Licence);
        }
Exemplo n.º 4
0
        public void it_updates_a_principal_authority_that_is_linked_to_a_director()
        {
            const int    licenceId    = 1;
            const int    paId         = 2;
            const int    dopId        = 3;
            const string expectedName = "Name";
            var          licence      = new Licence
            {
                Id = licenceId,
                PrincipalAuthorities = new List <PrincipalAuthority>
                {
                    new PrincipalAuthority
                    {
                        Id = paId,
                        DirectorOrPartner = new DirectorOrPartner
                        {
                            Id = dopId
                        }
                    }
                }
            };
            var model = new FullNameViewModel {
                FullName = expectedName
            };

            licenceRepository.GetById(licenceId).Returns(licence);
            repository.Upsert(Arg.Any <PrincipalAuthority>()).Returns(paId);

            var pdh    = new LicenceApplicationPostDataHandler(mapper, repository, licenceRepository, statusRepository, dateTimeProvider);
            var result = pdh.UpsertPrincipalAuthorityAndLinkToDirectorOrPartner(licenceId, dopId, paId, model);

            Assert.AreEqual(paId, result);
            repository.Received(1).Upsert(Arg.Is <PrincipalAuthority>(p => p.FullName.Equals(expectedName) && p.DirectorOrPartner.Id == dopId));
            repository.Received(0).Create <PrincipalAuthority>();
            repository.Received(0).GetById <DirectorOrPartner>(Arg.Any <int>());
        }
        public int Insert(LicenceApplicationViewModel model)
        {
            var licence = repository.Create <Licence>();

            var address = repository.Create <Address>();

            licence.Address = address;

            repository.Upsert(licence);

            licence.ApplicationId = CreateDraftURN(licence.Id);
            UpdateStatus(licence, model);

            repository.Upsert(licence);

            return(licence.Id);
        }