public void Update_AnyAuditedEntity_EntityUpdated() { // Arrange var createdAt = DateTime.Parse($"{DateTime.Today.AddDays(-1):yyyy-MM-dd} 12:00:00"); dbContext.Add(new AnyAuditedEntity { Id = 1, AnyString = "AnyString", CreatedBy = 1, CreatedAt = createdAt } ); dbContext.SaveChanges(); var expectedTime = DateTime.UtcNow; var expected = new AnyAuditedEntity { Id = 1, AnyString = "AnyNewString", CreatedBy = 1, CreatedAt = createdAt, UpdatedBy = 1 }; // Act repository.Update(1, expected, 1); dbContext.SaveChanges(); // Assert var actual = dbContext.AnyAuditedEntities.First(); actual.Should().BeEquivalentTo(expected, opts => opts.Excluding(x => x.UpdatedAt)); actual.UpdatedAt.Should().BeCloseTo(expectedTime); }
public void SaveChanges_CallAfterModify_ChangesSaved() { // Arrange dbContext.Add(new AnyEntity { Id = 1, AnyString = "AnyString" }); dbContext.SaveChanges(); var modifiedEntity = new AnyEntity { Id = 1, AnyString = "AnyNewString" }; // Act dbContext.AnyEntities.Find(modifiedEntity.Id).AnyString = modifiedEntity.AnyString; repository.SaveChanges(); // Assert dbContext.AnyEntities.First().Should().BeEquivalentTo(modifiedEntity); }