public async void GivenDatabaseDoesNotContainObject_ItShouldAddAnObjectAsync() { var options = new DbContextOptionsBuilder <TestContext>() .UseInMemoryDatabase(Helper.GetCallerName()) .Options; TestObject addedObject; using (var context = new TestContext(options)) { var repository = new AsyncRepository <TestObject>(context); addedObject = await repository.AddAsync(new TestObject { Name = "Test" }); } using (var context = new TestContext(options)) { var returnedObject = context.TestObjects.Find(addedObject.Id); addedObject.Should().NotBeNull("an object should be added"); returnedObject.Should().BeEquivalentTo(addedObject); } }
public async void GivenDatabaseContainsSameObject_ItShouldReplaceTheObjectAsync() { var options = new DbContextOptionsBuilder <TestContext>() .UseInMemoryDatabase(Helper.GetCallerName()) .Options; var addedEntity = new TestObject(id: 1, name: "TestObject"); TestObject actualEntity; using (var context = new TestContext(options)) { context.Add(addedEntity); } using (var context = new TestContext(options)) { var newEntity = new TestObject(id: 1, name: "NewTestObject"); var repository = new AsyncRepository <TestObject>(context); actualEntity = await repository.AddAsync(newEntity); } actualEntity.Should().BeEquivalentTo(new TestObject(1, "NewTestObject")); }