public void ShouldCreateSimpleRepositoryWithContextNoLog() { //Arrange var testDomain = new TestDomain(); IRepositoryFactory factory = new RepositoryFactory(testDomain.ConnectionString, testDomain.Mappings, testDomain.Context); //Act IRepository repo = factory.Create(); // assert repo.Should().NotBeNull(); }
public void ShouldCreateRepositoryWhenDomainEventsAreNull() { // arrange var testDomain = new TestDomain { Events = null }; IDomainRepositoryFactory factory = new DomainRepositoryFactory(new []{testDomain}); // act IRepository repo = factory.Create<TestDomain>(); // assert repo.Should().NotBeNull(); }
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); }