public void GetFinalStatesIdsTest() { Mock<IStateRepository> fakeStateRepo = new Mock<IStateRepository>(); Mock<IStateWorkflowRepository> fakeStateWorkflowRepo = new Mock<IStateWorkflowRepository>(); var stateService = new StateService(fakeStateRepo.Object, fakeStateWorkflowRepo.Object); var openStateId = Guid.NewGuid(); var closedStateId = Guid.NewGuid(); List<State> states = new List<State>() { new State {Title = "Open", Colour = "black", IsInitial = true, OrderIndex = 1, Id = openStateId}, new State {Title = "Closed", Colour = "white", IsInitial = false, OrderIndex = 2, Id = closedStateId} }; List<StateWorkflow> workflows = new List<StateWorkflow>() { new StateWorkflow {FromStateId = openStateId, ToStateId = closedStateId } }; fakeStateRepo.Setup(i => i.Fetch()).Returns(states.AsQueryable()); fakeStateWorkflowRepo.Setup(i => i.Fetch()).Returns(workflows.AsQueryable()); var actual = stateService.GetFinalStateIds(); Assert.AreEqual(actual.FirstOrDefault(), closedStateId); }
public void GetInitialStatesTest() { Mock<IStateRepository> fakeStateRepo = new Mock<IStateRepository>(); Mock<IStateWorkflowRepository> fakeStateWorkflowRepo = new Mock<IStateWorkflowRepository>(); var stateService = new StateService(fakeStateRepo.Object, fakeStateWorkflowRepo.Object); var openStateId = Guid.NewGuid(); var closedStateId = Guid.NewGuid(); List<State> states = new List<State>() { new State {Title = "Open", Colour = "black", IsInitial = true, OrderIndex = 1, Id = openStateId}, new State {Title = "Closed", Colour = "white", IsInitial = false, OrderIndex = 2, Id = closedStateId} }; fakeStateRepo.Setup(i => i.FindBy(It.IsAny<Expression<Func<State, bool>>>())) .Returns((Expression<Func<State, bool>> expression) => states.AsQueryable().Where(expression)); var actual = stateService.GetInitialStates(); Assert.AreEqual(actual.First().Id, openStateId); }