public static void ShouldInvokeRepositoryOnFetch() { var testObjectRepository = MockRepository.GenerateStub<IRepository<ITestObject>>(); var testObject = new TestObject(); testObjectRepository.Stub(repository => repository.Get("TestId")).Return(testObject); var result = new DefaultFetchingStrategy<ITestObject>(testObjectRepository).Fetch("TestId"); Assert.AreSame(testObject, result); }
public void SaveUsesSavingStrategyFromContext() { var savingStrategy = MockRepository.GenerateStub<ISavingStrategy<TestObject>>(); var instance = new TestObject(); Container.Stub(container => container.GetInstance<ISavingStrategy<TestObject>>()).Return(savingStrategy); PersistenceFacade.Save(instance); savingStrategy.AssertWasCalled(strategy => strategy.Save(instance)); }
public void SavedInstanceShouldBePersistedInstance() { var sessionContextStrategy = MockRepository.GenerateStub<ISessionContextStrategy>(); var session = MockRepository.GenerateStub<ISession>(); sessionContextStrategy.Stub(strategy => strategy.Retrieve()).Return(session); var instance = new TestObject(); new DefaultSavingStrategy<ITestObject>(sessionContextStrategy).Save(instance); session.AssertWasCalled(s => s.Save(instance)); }
public void FindByIdUsesFetchingStrategy() { var fetchingStrategy = MockRepository.GenerateStub<IFetchingStrategy<TestObject>>(); var testObject = new TestObject(); var testId = Guid.NewGuid(); Container.Stub(container => container.GetInstance<IFetchingStrategy<TestObject>>()).Return(fetchingStrategy); fetchingStrategy.Stub(strategy => strategy.Fetch(testId)).Return(testObject); var result = PersistenceFacade.FindById<TestObject>(testId); Assert.AreSame(testObject, result); }