public async Task AddCustomerAsync_WithValidCustomerModel_AddsNewRecordIntoDb() { // Arrange using (var context = await RepositoryTestHelper.GetInMemoryCustomerDbContext("AddTest1Db")) { var customerRepository = new CustomerRepository(context); var newCustomer = new CustomerModel { FirstName = "Alan", LastName = "Turing", DateOfBirth = new DateTime(1912, 6, 23) }; var expectedResult = RepositoryTestHelper.GetMockCustomerData() .ToList(); expectedResult.Add(new CustomerEntity { Id = 5, FirstName = newCustomer.FirstName, LastName = newCustomer.LastName, DateOfBirth = newCustomer.DateOfBirth } ); // Act await customerRepository.AddCustomerAsync(newCustomer); var result = await customerRepository.GetAllCustomersAsync(); // Assert result.Should().BeEquivalentTo(expectedResult); } }
public async Task GetAllCustomersAsync_Returns_AllCustomersFromDb() { // Arrange using (var context = await RepositoryTestHelper.GetInMemoryCustomerDbContext("GetTest1Db")) { var customerRepository = new CustomerRepository(context); var expectedResult = RepositoryTestHelper.GetMockCustomerData().ToList(); //Act var result = await customerRepository.GetAllCustomersAsync(); // Assert expectedResult.Should().BeEquivalentTo(result); } }
public async Task DeleteCustomerAsync_WithInvalidId_ThrowsCustomerNotFoundException() { // Arrange using (var context = await RepositoryTestHelper.GetInMemoryCustomerDbContext("DeleteTest2Db")) { var customerRepository = new CustomerRepository(context); var expectedResult = RepositoryTestHelper.GetMockCustomerData().ToList(); expectedResult.RemoveAt(0); // Act await customerRepository.DeleteCustomerAsync(1); var result = await customerRepository.GetAllCustomersAsync(); // Assert result.Should().BeEquivalentTo(expectedResult); } }
public async Task DeleteCustomerAsync_WithValidId_RemovesRecordFromDatabase() { // Arrange using (var context = await RepositoryTestHelper.GetInMemoryCustomerDbContext("DeleteTest1Db")) { var customerRepository = new CustomerRepository(context); var expectedResult = RepositoryTestHelper.GetMockCustomerData().ToList(); expectedResult.RemoveAt(0); // Act Func <Task> act = async() => { await customerRepository.DeleteCustomerAsync(99); }; await customerRepository.DeleteCustomerAsync(1); // Assert act.Should().Throw <CustomerNotFoundException>(); } }
private async Task SeedData() { var testCustomerData = RepositoryTestHelper.GetMockCustomerData(); using (var client = _webApplicationFactory.CreateClient()) { foreach (var testCustomer in testCustomerData) { var validNewCustomer = new CustomerModel { FirstName = testCustomer.FirstName, LastName = testCustomer.LastName, DateOfBirth = testCustomer.DateOfBirth }; var validPostContent = new StringContent( JsonSerializer.Serialize(validNewCustomer), Encoding.UTF8, "application/json" ); await client.PostAsync("/customers", validPostContent); } } }