public void Create_SetsEntityState_ToAdded() { using (var dbContext = new EntityDbContext()) { var entity = new User { Name = Guid.NewGuid().ToString() }; dbContext.Entry(entity).State.ShouldEqual(EntityState.Detached); dbContext.Create(entity); dbContext.Entry(entity).State.ShouldEqual(EntityState.Added); } }
public void Create_AddsEntityToDb_WhenChangesAreSaved() { using (var dbContext = new EntityDbContext()) { var entity = new User { Name = Guid.NewGuid().ToString() }; dbContext.Create(entity); entity.Id.ShouldEqual(0); var affectedRows = dbContext.SaveChangesAsync().Result; affectedRows.ShouldEqual(1); entity.Id.ShouldNotEqual(0); } }
public void Delete_SetsEntityState_ToDeleted() { using (var dbContext = new EntityDbContext()) { var entity = new User { Name = Guid.NewGuid().ToString() }; dbContext.Create(entity); var affectedRows = dbContext.SaveChangesAsync().Result; affectedRows.ShouldEqual(1); dbContext.Entry(entity).State.ShouldEqual(EntityState.Unchanged); dbContext.Delete(entity); dbContext.Entry(entity).State.ShouldEqual(EntityState.Deleted); } }
public void Update_SetsEntityState_ToModified() { using (var dbContext = new EntityDbContext()) { var permissionName = Guid.NewGuid().ToString(); var entity = new Permission { Name = permissionName, Description = "d1" }; dbContext.Create(entity); var affectedRows = dbContext.SaveChangesAsync().Result; affectedRows.ShouldEqual(1); dbContext.Entry(entity).State.ShouldEqual(EntityState.Unchanged); dbContext.Update(entity); dbContext.Entry(entity).State.ShouldEqual(EntityState.Modified); } }
public void ReloadAsync_ChangesModifiedEntityState_ToUnchanged() { using (var dbContext = new EntityDbContext()) { var description = Guid.NewGuid().ToString(); var entity = new Permission { Name = Guid.NewGuid().ToString(), Description = description }; dbContext.Create(entity); var affectedRows = dbContext.SaveChangesAsync().Result; affectedRows.ShouldEqual(1); dbContext.Entry(entity).State.ShouldEqual(EntityState.Unchanged); entity.Description = Guid.NewGuid().ToString(); dbContext.Entry(entity).State.ShouldEqual(EntityState.Modified); dbContext.ReloadAsync(entity).Wait(); dbContext.Entry(entity).State.ShouldEqual(EntityState.Unchanged); entity.Description.ShouldEqual(description); } }