public void ShouldRegisterOneEventHandlerForPostSave() { //arrange var domain = new TestDomain(); var testPreSaveInterceptor = new TestEventInterceptor<AfterSave>(1); domain.Events = new List<IInterceptor> { testPreSaveInterceptor }; domain.ConnectionString = Settings.Default.Connection; //act var repo = new DomainRepository<TestDomain>(new DomainContext<TestDomain>(domain), domain); repo.Context.Commit(); //assert testPreSaveInterceptor.WasCalled.Should().BeTrue(); }
public void ShouldAddSingleInterceptorForAfterCommandExecution() { //Arrange var domain = new TestDomain(); var interceptor = new TestEventInterceptor<AfterCommand>(1); domain.Events = new List<IInterceptor> { interceptor }; domain.ConnectionString = Settings.Default.Connection; //act var repository = new DomainRepositoryFactory(new[] { domain }).Create<TestDomain>(); repository.Execute(new EmptyCommand()); //assert interceptor.WasCalled.Should().BeTrue(); }
public void ShouldRegisterTwoEventHandlersForPostSaveAndHonorPriority() { //arrange var domain = new TestDomain(); var testPreSaveInterceptor = new TestEventInterceptor<AfterSave>(1); var testPreSaveInterceptor2 = new TestEventInterceptor<AfterSave>(2); domain.Events = new List<IInterceptor> { testPreSaveInterceptor, testPreSaveInterceptor2, }; domain.ConnectionString = Settings.Default.Connection; //act var repo = new DomainRepository<TestDomain>(new DomainContext<TestDomain>(domain), domain); repo.Context.Commit(); //assert testPreSaveInterceptor.WasCalled.Should().BeTrue(); testPreSaveInterceptor2.WasCalled.Should().BeTrue(); testPreSaveInterceptor.CallTime.Should().BeBefore(testPreSaveInterceptor2.CallTime); }