Esempio n. 1
0
        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>();
        }
Esempio n. 2
0
        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>();
        }
Esempio n. 3
0
        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>();
        }