private Contact AddContactRecordToDatabase(int residentId, int contactTypeId)
        {
            var contact = TestHelper.CreateDatabaseContactEntity(residentId, contactTypeId);

            ResidentContactContext.ContactDetails.Add(contact);
            ResidentContactContext.SaveChanges();
            return(contact);
        }
        private Resident AddPersonRecordToDatabase(string lastName = null, string firstName = null, int?id = null)
        {
            var databaseEntity = TestHelper.CreateDatabasePersonEntity(firstName, lastName, id);

            ResidentContactContext.Residents.Add(databaseEntity);
            ResidentContactContext.SaveChanges();
            return(databaseEntity);
        }
        public static ResidentResponse AddPersonWithRelatedEntitiesToDb(ResidentContactContext context, int?id = null,
                                                                        string firstname = null, string lastname = null, int?contactTypeLookupId = null, int?contactSubTypeLookupId = null)
        {
            var fixture     = new Fixture();
            var resident    = TestHelper.CreateDatabasePersonEntity(firstname, lastname, id);
            var addedPerson = context.Residents.Add(resident);

            context.SaveChanges();

            var contactType = new ContactTypeLookup {
                Name = fixture.Create <string>()
            };

            contactType.Id = contactTypeLookupId ?? contactType.Id;

            var subContactType = new ContactSubTypeLookup {
                Name = fixture.Create <string>()
            };

            subContactType.Id = contactSubTypeLookupId ?? subContactType.Id;

            context.ContactTypeLookups.Add(contactType);
            context.ContactSubTypeLookups.Add(subContactType);
            context.SaveChanges();

            var contact = TestHelper.CreateDatabaseContactEntity(addedPerson.Entity.Id, contactType.Id, subContactType.Id);

            context.ContactDetails.Add(contact);
            context.SaveChanges();

            return(new ResidentResponse
            {
                Id = resident.Id,
                FirstName = resident.FirstName,
                LastName = resident.LastName,
                Gender = "F",
                DateOfBirth = resident.DateOfBirth,
                ContactInformation =
                    new List <ContactDetailsResponse>
                {
                    new ContactDetailsResponse
                    {
                        Id = contact.Id,
                        Value = contact.ContactValue,
                        AddedBy = contact.AddedBy,
                        Active = contact.IsActive,
                        Default = contact.IsDefault,
                        DateLastModified = contact.DateLastModified,
                        ModifiedBy = contact.ModifiedBy,
                        DateAdded = contact.DateAdded,
                        Type = contactType.Name,
                        SubType = subContactType.Name
                    }
                }
            });
        }
        private ContactTypeLookup AddContactTypeToDatabase()
        {
            var contactType = new ContactTypeLookup {
                Name = _fixture.Create <string>()
            };

            ResidentContactContext.ContactTypeLookups.Add(contactType);
            ResidentContactContext.SaveChanges();
            return(contactType);
        }
Пример #5
0
        public void BaseSetup()
        {
            _factory = new MockWebApplicationFactory <TStartup>(_connection);
            Client   = _factory.CreateClient();
            //Use same context connection for tests and API
            ResidentContactContext = _factory.Server.Host.Services.GetRequiredService <ResidentContactContext>();

            _transaction = _connection.BeginTransaction(IsolationLevel.RepeatableRead);
            ResidentContactContext.Database.UseTransaction(_transaction);
        }
        public void CanGetADatabaseEntity()
        {
            var databaseEntity = TestHelper.CreateDatabasePersonEntity();

            ResidentContactContext.Add(databaseEntity);
            ResidentContactContext.SaveChanges();

            var result = ResidentContactContext.Residents.ToList().FirstOrDefault();

            result.Should().BeEquivalentTo(databaseEntity);
        }
        public static Resident AddResidentRecordToTheDatabase(ResidentContactContext context)
        {
            var resident = new Resident
            {
                FirstName   = _faker.Random.Word(),
                LastName    = _faker.Random.Word(),
                DateOfBirth = _faker.Date.Past(),
                Gender      = _faker.Random.Char()
            };

            context.Residents.Add(resident);
            context.SaveChanges();
            return(resident);
        }
Пример #8
0
        protected override void ConfigureWebHost(IWebHostBuilder builder)
        {
            builder.ConfigureAppConfiguration(b => b.AddEnvironmentVariables())
            .UseStartup <Startup>();
            builder.ConfigureServices(services =>
            {
                var dbBuilder = new DbContextOptionsBuilder();
                dbBuilder.UseNpgsql(_connection);
                var context = new ResidentContactContext(dbBuilder.Options);
                services.AddSingleton(context);

                var serviceProvider = services.BuildServiceProvider();
                var dbContext       = serviceProvider.GetRequiredService <ResidentContactContext>();

                dbContext.Database.EnsureCreated();
            });
        }
        private string AddCrmContactIdForResident(Resident person)
        {
            var externalSystemLookup = new ExternalSystemLookup
            {
                Name = "CRM"
            };

            ResidentContactContext.ExternalSystemLookups.Add(externalSystemLookup);
            ResidentContactContext.SaveChanges();
            var externalLink = new ExternalSystemId
            {
                ResidentId             = person.Id,
                ExternalIdName         = "ContactId",
                ExternalSystemLookupId = externalSystemLookup.Id,
                ExternalIdValue        = _fixture.Create <string>()
            };

            ResidentContactContext.ExternalSystemIds.Add(externalLink);
            ResidentContactContext.SaveChanges();
            return(externalLink.ExternalIdValue);
        }
        public static ExternalSystemId AddCrmContactIdForResidentId(ResidentContactContext context, int residentId)
        {
            var fixture = new Fixture();
            var externalSystemLookup = new ExternalSystemLookup
            {
                Name = "CRM"
            };

            context.ExternalSystemLookups.Add(externalSystemLookup);
            context.SaveChanges();
            var externalLink = new ExternalSystemId
            {
                ResidentId             = residentId,
                ExternalIdName         = "ContactId",
                ExternalSystemLookupId = externalSystemLookup.Id,
                ExternalIdValue        = fixture.Create <string>()
            };

            context.ExternalSystemIds.Add(externalLink);
            context.SaveChanges();
            return(externalLink);
        }
        public async Task ShouldReturn201WhenNewResidentRecordIsInserted()
        {
            var externalSystemLookup = new ExternalSystemLookup
            {
                Name = _faker.Random.Word()
            };

            ResidentContactContext.ExternalSystemLookups.Add(externalSystemLookup);
            ResidentContactContext.SaveChanges();

            var request = new InsertResidentRequest
            {
                FirstName          = _faker.Random.Word(),
                LastName           = _faker.Random.Word(),
                DateOfBirth        = _faker.Date.Past(),
                ExternalReferences = new List <InsertExternalReferenceRequest> {
                    new InsertExternalReferenceRequest {
                        ExternalReferenceValue = _faker.Random.Word(),
                        ExternalReferenceName  = _faker.Random.Word(),
                        ExternalSystemId       = externalSystemLookup.Id
                    }
                }
            };

            var url = new Uri("/api/v1/residents", UriKind.Relative);

            using var requestContent =
                      new StringContent(JsonConvert.SerializeObject(request), Encoding.UTF8, "application/json");
            var response = await Client.PostAsync(url, requestContent).ConfigureAwait(true);

            var content = response.Content.ReadAsStringAsync().Result;
            var insertResidentResponse = JsonConvert.DeserializeObject <InsertResidentResponse>(content);

            response.StatusCode.Should().Be(201);
            CheckResidentHasBeenInserted(insertResidentResponse.ResidentId, request);
        }
Пример #12
0
 public ResidentGateway(ResidentContactContext residentContactContext)
 {
     _residentContactContext = residentContactContext;
 }
 public void SetUp()
 {
     ResidentContactContext = new ResidentContactContext(_builder.Options);
     ResidentContactContext.Database.EnsureCreated();
     _transaction = ResidentContactContext.Database.BeginTransaction();
 }