public void GetNextState_TopicSelectionState_OnCorrectTransition_ReturnTopicSelectionState() { var unknownUserState = new TopicSelectionState(); var backTransition = new CorrectTransition(testTopic.Id.ToString()); var(state, command) = stateMachine.GetNextState(unknownUserState, backTransition); state.As <LevelSelectionState>() .TopicDto.Should() .Be(new LevelSelectionState(testTopic).TopicDto); command.Should().BeOfType <SelectLevelCommand>(); }
public void GetNextState_TaskState_OnCorrectTransition_ReturnCheckTaskCommandAndSaveState() { var unknownUserState = new TaskState(testTopic, testLevel); var backTransition = new CorrectTransition("answer"); var(state, command) = stateMachine.GetNextState(unknownUserState, backTransition); var taskState = state.As <TaskState>(); taskState.TopicDto.Should().Be(testTopic); taskState.LevelDto.Should().Be(testLevel); command.Should().BeOfType <CheckTaskCommand>(); }
public void GetNextState_LevelSelectionState_OnCorrectTransition_ReturnTopicSelectionState() { var unknownUserState = new LevelSelectionState(testTopic); var backTransition = new CorrectTransition(testLevel.Id.ToString()); var(state, command) = stateMachine.GetNextState(unknownUserState, backTransition); var taskState = state.As <TaskState>(); taskState.TopicDto.Should().Be(testTopic); taskState.LevelDto.Should().Be(testLevel); command.Should().BeOfType <ShowTaskCommand>(); }