public void Get_CanGetWritableEntity_WhenEntityExists() { using (var context = new FakeDbContext()) { var repository = new EntityFrameworkRepository<FakeCustomer>(() => context); var customer = repository.Get(1); Assert.NotNull(customer); Assert.Equal(EntityState.Unchanged, context.Entry(customer).State); } }
public void Query_CanGetReadOnlyEntity_WhichAreNotTrackedByContext() { using (var context = new FakeDbContext()) { var repository = new EntityFrameworkRepository<FakeCustomer>(() => context); var firstCustomer = repository.Query().First(); var isFirstCustomerTrackedByContext = context.Entry(firstCustomer).State != EntityState.Detached; Assert.NotNull(firstCustomer); Assert.Equal(false, isFirstCustomerTrackedByContext); } }
public void Delete_CanMarkEntityForDeletion_WhenEntityExists() { using (var context = new FakeDbContext()) { var repository = new EntityFrameworkRepository<FakeCustomer>(() => context); var customer = repository.Get(1); Assert.NotNull(customer); repository.Delete(customer); Assert.Equal(EntityState.Deleted, context.Entry(customer).State); } }
public void Save_CanCreateEntity_WhenEntityIsNotTrackedByContext() { using (var context = new FakeDbContext()) { var repository = new EntityFrameworkRepository<FakeCustomer>(() => context); var customer = new FakeCustomer { FirstName = "John", LastName = "Doe" }; repository.Save(customer); Assert.Equal(EntityState.Added, context.Entry(customer).State); } }