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); }
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); }
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); }
public ResidentGateway(ResidentContactContext residentContactContext) { _residentContactContext = residentContactContext; }
public void SetUp() { ResidentContactContext = new ResidentContactContext(_builder.Options); ResidentContactContext.Database.EnsureCreated(); _transaction = ResidentContactContext.Database.BeginTransaction(); }