Search in sources :

Example 16 with TopicModelInterface

use of easytests.core.models.TopicModelInterface in project easy-tests by malinink.

the class QuestionsOptionsTest method testWithRelationsOnSingleModel.

@Test
public void testWithRelationsOnSingleModel() throws Exception {
    final QuestionModelInterface questionModel = Mockito.mock(QuestionModelInterface.class);
    questionModel.setId(1);
    given(questionModel.getTopic()).willReturn(new TopicModelEmpty(1));
    given(questionModel.getQuestionType()).willReturn(new QuestionTypeModelEmpty(1));
    final QuestionsOptionsInterface questionsOptions = new QuestionsOptions();
    final AnswersServiceInterface answersService = Mockito.mock(AnswersServiceInterface.class);
    final AnswersOptionsInterface answersOptions = Mockito.mock(AnswersOptionsInterface.class);
    final TopicsServiceInterface topicsService = Mockito.mock(TopicsServiceInterface.class);
    final TopicsOptionsInterface topicsOptions = Mockito.mock(TopicsOptionsInterface.class);
    final QuestionTypesServiceInterface questionTypesService = Mockito.mock(QuestionTypesServiceInterface.class);
    final QuestionTypesOptionsInterface questionTypesOptions = Mockito.mock(QuestionTypesOptionsInterface.class);
    questionsOptions.setAnswersService(answersService);
    questionsOptions.withAnswers(answersOptions);
    questionsOptions.setTopicsService(topicsService);
    questionsOptions.withTopic(topicsOptions);
    questionsOptions.setQuestionTypesService(questionTypesService);
    questionsOptions.withQuestionType(questionTypesOptions);
    final List<AnswerModelInterface> answersModels = new ArrayList<>();
    answersModels.add(Mockito.mock(AnswerModelInterface.class));
    TopicModelInterface topicModel = Mockito.mock(TopicModelInterface.class);
    QuestionTypeModelInterface questionTypeModel = Mockito.mock(QuestionTypeModelInterface.class);
    given(answersService.findByQuestion(questionModel, answersOptions)).willReturn(answersModels);
    given(topicsService.find(questionModel.getTopic().getId(), topicsOptions)).willReturn(topicModel);
    given(questionTypesService.find(questionModel.getQuestionType().getId(), questionTypesOptions)).willReturn(questionTypeModel);
    final QuestionModelInterface questionModelWithRelations = questionsOptions.withRelations(questionModel);
    Assert.assertEquals(questionModel, questionModelWithRelations);
    verify(answersService).findByQuestion(questionModel, answersOptions);
    verify(topicsService).find(questionModel.getTopic().getId(), topicsOptions);
    verify(questionTypesService).find(questionModel.getQuestionType().getId(), questionTypesOptions);
    verify(questionModel).setAnswers(answersModels);
    verify(questionModel).setTopic(topicModel);
    verify(questionModel).setQuestionType(questionTypeModel);
    verify(questionModel).setAnswers(Mockito.anyList());
}
Also used : QuestionTypesServiceInterface(easytests.core.services.QuestionTypesServiceInterface) QuestionModelInterface(easytests.core.models.QuestionModelInterface) ArrayList(java.util.ArrayList) AnswersServiceInterface(easytests.core.services.AnswersServiceInterface) QuestionTypeModelEmpty(easytests.core.models.empty.QuestionTypeModelEmpty) TopicModelInterface(easytests.core.models.TopicModelInterface) TopicModelEmpty(easytests.core.models.empty.TopicModelEmpty) QuestionTypeModelInterface(easytests.core.models.QuestionTypeModelInterface) TopicsServiceInterface(easytests.core.services.TopicsServiceInterface) AnswerModelInterface(easytests.core.models.AnswerModelInterface) Test(org.junit.Test) SpringBootTest(org.springframework.boot.test.context.SpringBootTest)

Example 17 with TopicModelInterface

use of easytests.core.models.TopicModelInterface in project easy-tests by malinink.

the class QuestionsOptionsTest method testDeleteWithRelations.

@Test
public void testDeleteWithRelations() throws Exception {
    final QuestionModelInterface questionModel = Mockito.mock(QuestionModelInterface.class);
    final QuestionsOptionsInterface questionsOptions = new QuestionsOptions();
    final QuestionsServiceInterface questionsService = Mockito.mock(QuestionsServiceInterface.class);
    final AnswersServiceInterface answersService = Mockito.mock(AnswersServiceInterface.class);
    final AnswersOptionsInterface answersOptions = Mockito.mock(AnswersOptionsInterface.class);
    final TopicsServiceInterface topicsService = Mockito.mock(TopicsServiceInterface.class);
    final TopicsOptionsInterface topicsOptions = Mockito.mock(TopicsOptionsInterface.class);
    questionsOptions.setQuestionsService(questionsService);
    questionsOptions.setAnswersService(answersService);
    questionsOptions.withAnswers(answersOptions);
    questionsOptions.setTopicsService(topicsService);
    questionsOptions.withTopic(topicsOptions);
    final List<AnswerModelInterface> answersModels = new ArrayList<>();
    answersModels.add(Mockito.mock(AnswerModelInterface.class));
    TopicModelInterface topicModel = Mockito.mock(TopicModelInterface.class);
    given(questionModel.getAnswers()).willReturn(answersModels);
    given(questionModel.getTopic()).willReturn(topicModel);
    final InOrder inOrder = Mockito.inOrder(answersService, questionsService, topicsService);
    questionsOptions.deleteWithRelations(questionModel);
    inOrder.verify(answersService).delete(answersModels, answersOptions);
    inOrder.verify(questionsService).delete(questionModel);
    inOrder.verify(topicsService).delete(topicModel, topicsOptions);
}
Also used : InOrder(org.mockito.InOrder) QuestionModelInterface(easytests.core.models.QuestionModelInterface) ArrayList(java.util.ArrayList) AnswersServiceInterface(easytests.core.services.AnswersServiceInterface) TopicModelInterface(easytests.core.models.TopicModelInterface) QuestionsServiceInterface(easytests.core.services.QuestionsServiceInterface) TopicsServiceInterface(easytests.core.services.TopicsServiceInterface) AnswerModelInterface(easytests.core.models.AnswerModelInterface) Test(org.junit.Test) SpringBootTest(org.springframework.boot.test.context.SpringBootTest)

Example 18 with TopicModelInterface

use of easytests.core.models.TopicModelInterface in project easy-tests by malinink.

the class QuestionsOptionsTest method testWithRelationsOnModelsList.

@Test
public void testWithRelationsOnModelsList() throws Exception {
    final QuestionModelInterface questionModelFirst = Mockito.mock(QuestionModelInterface.class);
    questionModelFirst.setId(1);
    given(questionModelFirst.getTopic()).willReturn(new TopicModelEmpty(1));
    given(questionModelFirst.getQuestionType()).willReturn(new QuestionTypeModelEmpty(1));
    final QuestionModelInterface questionModelSecond = Mockito.mock(QuestionModelInterface.class);
    questionModelSecond.setId(2);
    given(questionModelSecond.getTopic()).willReturn(new TopicModelEmpty(2));
    given(questionModelSecond.getQuestionType()).willReturn(new QuestionTypeModelEmpty(2));
    final List<QuestionModelInterface> questionsModels = new ArrayList<>(2);
    questionsModels.add(questionModelFirst);
    questionsModels.add(questionModelSecond);
    final QuestionsOptionsInterface questionsOptions = new QuestionsOptions();
    final AnswersServiceInterface answersService = Mockito.mock(AnswersServiceInterface.class);
    final AnswersOptionsInterface answersOptions = Mockito.mock(AnswersOptionsInterface.class);
    final TopicsServiceInterface topicsService = Mockito.mock(TopicsServiceInterface.class);
    final TopicsOptionsInterface topicsOptions = Mockito.mock(TopicsOptionsInterface.class);
    final QuestionTypesServiceInterface questionTypesService = Mockito.mock(QuestionTypesServiceInterface.class);
    final QuestionTypesOptionsInterface questionTypesOptions = Mockito.mock(QuestionTypesOptionsInterface.class);
    questionsOptions.setAnswersService(answersService);
    questionsOptions.withAnswers(answersOptions);
    questionsOptions.setTopicsService(topicsService);
    questionsOptions.withTopic(topicsOptions);
    questionsOptions.setQuestionTypesService(questionTypesService);
    questionsOptions.withQuestionType(questionTypesOptions);
    final List<AnswerModelInterface> answersModelsFirst = new ArrayList<>();
    answersModelsFirst.add(Mockito.mock(AnswerModelInterface.class));
    final List<AnswerModelInterface> answersModelsSecond = new ArrayList<>();
    answersModelsSecond.add(Mockito.mock(AnswerModelInterface.class));
    TopicModelInterface topicModelFirst = Mockito.mock(TopicModelInterface.class);
    TopicModelInterface topicModelSecond = Mockito.mock(TopicModelInterface.class);
    QuestionTypeModelInterface questionTypeModelFirst = Mockito.mock(QuestionTypeModelInterface.class);
    QuestionTypeModelInterface questionTypeModelSecond = Mockito.mock(QuestionTypeModelInterface.class);
    given(answersService.findByQuestion(questionModelFirst, answersOptions)).willReturn(answersModelsFirst);
    given(answersService.findByQuestion(questionModelSecond, answersOptions)).willReturn(answersModelsSecond);
    given(topicsService.find(questionModelFirst.getTopic().getId(), topicsOptions)).willReturn(topicModelFirst);
    given(topicsService.find(questionModelSecond.getTopic().getId(), topicsOptions)).willReturn(topicModelSecond);
    given(questionTypesService.find(questionModelFirst.getQuestionType().getId(), questionTypesOptions)).willReturn(questionTypeModelFirst);
    given(questionTypesService.find(questionModelSecond.getQuestionType().getId(), questionTypesOptions)).willReturn(questionTypeModelSecond);
    final List<QuestionModelInterface> questionsModelsWithRelations = questionsOptions.withRelations(questionsModels);
    Assert.assertEquals(questionsModelsWithRelations, questionsModels);
    verify(answersService).findByQuestion(questionModelFirst, answersOptions);
    verify(questionsModels.get(0)).setAnswers(answersModelsFirst);
    verify(questionsModels.get(0)).setAnswers(Mockito.anyList());
    verify(answersService).findByQuestion(questionModelSecond, answersOptions);
    verify(questionsModels.get(1)).setAnswers(answersModelsSecond);
    verify(questionsModels.get(1)).setAnswers(Mockito.anyList());
    verify(topicsService).find(questionModelFirst.getTopic().getId(), topicsOptions);
    verify(topicsService).find(questionModelSecond.getTopic().getId(), topicsOptions);
    verify(questionsModels.get(0)).setTopic(topicModelFirst);
    verify(questionsModels.get(1)).setTopic(topicModelSecond);
    verify(questionTypesService).find(questionModelFirst.getQuestionType().getId(), questionTypesOptions);
    verify(questionTypesService).find(questionModelSecond.getQuestionType().getId(), questionTypesOptions);
    verify(questionModelFirst).setQuestionType(questionTypeModelFirst);
    verify(questionModelSecond).setQuestionType(questionTypeModelSecond);
}
Also used : QuestionTypesServiceInterface(easytests.core.services.QuestionTypesServiceInterface) QuestionModelInterface(easytests.core.models.QuestionModelInterface) ArrayList(java.util.ArrayList) AnswersServiceInterface(easytests.core.services.AnswersServiceInterface) QuestionTypeModelEmpty(easytests.core.models.empty.QuestionTypeModelEmpty) TopicModelInterface(easytests.core.models.TopicModelInterface) TopicModelEmpty(easytests.core.models.empty.TopicModelEmpty) QuestionTypeModelInterface(easytests.core.models.QuestionTypeModelInterface) TopicsServiceInterface(easytests.core.services.TopicsServiceInterface) AnswerModelInterface(easytests.core.models.AnswerModelInterface) Test(org.junit.Test) SpringBootTest(org.springframework.boot.test.context.SpringBootTest)

Example 19 with TopicModelInterface

use of easytests.core.models.TopicModelInterface in project easy-tests by malinink.

the class TopicsController method read.

@GetMapping("{topicId}")
public String read(Model model, @PathVariable("subjectId") Integer subjectId, @PathVariable("topicId") Integer topicId) {
    final SubjectModelInterface subjectModel = getCurrentSubjectModel(subjectId, false);
    final TopicModelInterface topicModel = getTopicModel(topicId, subjectId);
    model.addAttribute("topic", topicModel);
    model.addAttribute("subjectId", subjectId);
    return "topics/view";
}
Also used : SubjectModelInterface(easytests.core.models.SubjectModelInterface) TopicModelInterface(easytests.core.models.TopicModelInterface) GetMapping(org.springframework.web.bind.annotation.GetMapping)

Example 20 with TopicModelInterface

use of easytests.core.models.TopicModelInterface in project easy-tests by malinink.

the class TopicsController method update.

@GetMapping("update/{topicId}/")
public String update(Model model, @PathVariable Integer topicId, @PathVariable("subjectId") Integer subjectId) {
    final SubjectModelInterface subjectModel = getCurrentSubjectModel(subjectId, false);
    final TopicModelInterface topicModel = this.getTopicModel(topicId, subjectId);
    final TopicDto topic = new TopicDto();
    topic.map(topicModel);
    setUpdateBehaviour(model);
    model.addAttribute("topic", topic);
    model.addAttribute("subjectId", subjectId);
    return "topics/form";
}
Also used : TopicDto(easytests.personal.dto.TopicDto) SubjectModelInterface(easytests.core.models.SubjectModelInterface) TopicModelInterface(easytests.core.models.TopicModelInterface) GetMapping(org.springframework.web.bind.annotation.GetMapping)

Aggregations

TopicModelInterface (easytests.core.models.TopicModelInterface)52 Test (org.junit.Test)34 SpringBootTest (org.springframework.boot.test.context.SpringBootTest)32 SubjectModelInterface (easytests.core.models.SubjectModelInterface)18 TopicsServiceInterface (easytests.core.services.TopicsServiceInterface)16 ArrayList (java.util.ArrayList)15 QuestionModelInterface (easytests.core.models.QuestionModelInterface)14 TopicsOptionsInterface (easytests.core.options.TopicsOptionsInterface)9 TopicEntity (easytests.core.entities.TopicEntity)8 QuestionsServiceInterface (easytests.core.services.QuestionsServiceInterface)7 InOrder (org.mockito.InOrder)6 SubjectsServiceInterface (easytests.core.services.SubjectsServiceInterface)5 AnswerModelInterface (easytests.core.models.AnswerModelInterface)4 TopicModelEmpty (easytests.core.models.empty.TopicModelEmpty)4 AnswersServiceInterface (easytests.core.services.AnswersServiceInterface)4 GetMapping (org.springframework.web.bind.annotation.GetMapping)4 QuestionEntity (easytests.core.entities.QuestionEntity)3 QuestionTypeModelInterface (easytests.core.models.QuestionTypeModelInterface)3 SubjectModel (easytests.core.models.SubjectModel)3 TopicModel (easytests.core.models.TopicModel)3