public async Task UpdateAddressInfoWorksCorrectly() { // Give a Unique name to the DB var options = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(databaseName: "TestUpdateAddressDb") .Options; using var dbContext = new ApplicationDbContext(options); // Initialize Testing Data dbContext.Addresses.AddRange( new Address() { City = "Burgas", ZipCode = 9000, Id = 1, }, new Address() { City = "Sofia", ZipCode = 5000, Id = 2, }); dbContext.Users.AddRange( new ApplicationUser() { Id = "1", UserName = "******", AddressId = 1, }, new ApplicationUser() { Id = "2", UserName = "******", AddressId = 2, }); dbContext.SaveChanges(); using var usersRepository = new EfDeletableEntityRepository <ApplicationUser>(dbContext); using var addressesRepository = new EfDeletableEntityRepository <Address>(dbContext); var addressService = new AddressesService(addressesRepository, usersRepository); var newAddressInfo = new AddressViewModel() { City = "MovedToBurgas", ZipCode = "8000", }; await addressService.UpdateAddressInfo("Sofianec", newAddressInfo); var currentAddressOfSofianec = addressService.GetAddressInfoByUsername("Sofianec"); Assert.Equal("MovedToBurgas", currentAddressOfSofianec.City); }