public void WhenNoIdAlsoPopulatesCreatedInfo() { //Arrange var locator = M<IServiceLocator>(); ServiceLocator.SetLocatorProvider(() => locator); var clock = M<ISystemClock>(); clock.Expect(c => c.Now()).Return(created).Repeat.Once(); locator.Expect(l => l.GetInstance<ISystemClock>()).Return(clock).Repeat.Once(); var entity = new DummyAuditedEntity(); //Act using (var session = Store.OpenSession()) { session.Store(entity); session.SaveChanges(); } //Assert entity.Created.ShouldEqual(created); locator.VerifyAllExpectations(); clock.VerifyAllExpectations(); }
public void AuditedFieldsAreUpdates() { //Arrange var locator = M<IServiceLocator>(); ServiceLocator.SetLocatorProvider(() => locator); var clock = M<ISystemClock>(); clock.Expect(c => c.Now()).Return(created); locator.Expect(l => l.GetInstance<ISystemClock>()).Return(clock); var entity = new DummyAuditedEntity(); using (var session = Store.OpenSession()) { session.Store(entity); session.SaveChanges(); } clock.BackToRecord(BackToRecordOptions.All); clock.Replay(); clock.Expect(c => c.Now()).Return(updated); user = "******"; //Act using (var session = Store.OpenSession()) { session.Store(entity); session.SaveChanges(); } //Assert entity.Created.ShouldEqual(created); entity.CreatedBy.ShouldEqual("vincent"); //Reset user = "******"; }