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); }
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); }