public void WithChanges_WhenChangesAreValid_SetsBeforeAndAfterJson() { var before = "before_changes"; var after = "after_changes"; AuditedOperationTypeEnum type = AuditedOperationTypeEnum.Update; var model = new ModelToAudit { Id = Guid.NewGuid().ToString() }; var mockChanges = new Mock <IChangeDetectionService>(); mockChanges .Setup(c => c.GetChangeType(It.IsAny <EntityEntry>())) .Returns(type); mockChanges .Setup(c => c.SerializeEntityChanges(It.IsAny <AuditedOperationTypeEnum>(), It.IsAny <EntityEntry>())) .Returns((before, after)); AuditService <FakeContext> auditService = GenerateAuditService(mockChanges.Object); AuditEntryModel entry = auditService.GenerateEntry <AuditEntryModel, ModelToAudit>(model); Assert.AreEqual(type, entry.Type); Assert.AreEqual(before, entry.EntityBeforeJson); Assert.AreEqual(after, entry.EntityAfterJson); }
public void GenerateEntry_WithAuditedOn_SetsAuditedOn() { var auditedOn = new DateTime(2000, 1, 1); AuditService <FakeContext> auditService = GenerateAuditService(); AuditEntryModel newEntry = auditService.GenerateEntry <AuditEntryModel, ModelToAudit>(new ModelToAudit(), auditedOn); Assert.AreEqual(auditedOn, newEntry.AuditedOn); }
public void WithUserId_WhenUserIdIsNotNull_SetsUserId() { var userId = "Sample"; AuditService <FakeContext> auditService = GenerateAuditService(); FluentAudit <FakeContext, AuditEntryModel, ModelToAudit> fluent = auditService.GenerateEntry <AuditEntryModel, ModelToAudit>(new ModelToAudit()); AuditEntryModel entry = fluent.WithUserId(userId); Assert.AreEqual(userId, entry.UserId); }
public void WithDescription_WhenDescriptionIsNotNull_SetsDescription() { var description = "Sample"; AuditService <FakeContext> auditService = GenerateAuditService(); FluentAudit <FakeContext, AuditEntryModel, ModelToAudit> fluent = auditService.GenerateEntry <AuditEntryModel, ModelToAudit>(new ModelToAudit()); AuditEntryModel entry = fluent.WithDescription(description); Assert.AreEqual(description, entry.Description); }
public void GenerateEntry_WhenIdIsNotDbGenerated_SetsEntityIdOnSave() { var model = new ModelToAudit(); Context.Add(model); AuditService <FakeContext> auditService = GenerateAuditService(); AuditEntryModel newEntry = auditService.GenerateEntry <AuditEntryModel, ModelToAudit>(model); model.Audits = new List <AuditEntryModel> { newEntry }; Context.SaveChanges(); Assert.AreEqual(model.Id, newEntry.EntityId); }