public async Task CreateAsync_ThrowsOnNull() { var dbcontext = InMemoryContext.GetDbContext(); var repository = new EntityTableRepository <Movie>(dbcontext); await repository.CreateAsync(null); Assert.Fail("ArgumentNullException expected"); }
public async Task CreateAsync_Duplicate_Throws() { var dbcontext = InMemoryContext.GetDbContext(); var repository = new EntityTableRepository <Movie>(dbcontext); var testItem = RandomMovie(); var actual = await repository.CreateAsync(testItem); Assert.Fail("EntityExistsException expected"); }
public async Task CreateAsync_CreatesNewItem() { var dbcontext = InMemoryContext.GetDbContext(); var dataset = dbcontext.Set <Movie>(); var repository = new EntityTableRepository <Movie>(dbcontext); var newItem = new Movie() { Title = "Test Item" }; var actual = await repository.CreateAsync(newItem); Assert.IsNotNull(actual); Assert.AreEqual(32, actual.Id.Length); Assert.AreEqual(1, dataset.Count(m => m.Id == actual.Id)); Assert.IsTrue(DateTimeOffset.UtcNow.Subtract(actual.UpdatedAt).TotalMilliseconds < 500); Assert.IsNotNull(actual.Version); Assert.AreEqual("Test Item", actual.Title); }