diff options
| author | stephanchrst <stephanchrst@gmail.com> | 2022-05-10 21:51:50 +0700 |
|---|---|---|
| committer | stephanchrst <stephanchrst@gmail.com> | 2022-05-10 21:51:50 +0700 |
| commit | 3751379f1e9a4c215fb6eb898b4ccc67659b9ace (patch) | |
| tree | a44932296ef4a9b71d5f010906253d8c53727726 /addons/survey/tests/test_survey_compute_pages_questions.py | |
| parent | 0a15094050bfde69a06d6eff798e9a8ddf2b8c21 (diff) | |
initial commit 2
Diffstat (limited to 'addons/survey/tests/test_survey_compute_pages_questions.py')
| -rw-r--r-- | addons/survey/tests/test_survey_compute_pages_questions.py | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/addons/survey/tests/test_survey_compute_pages_questions.py b/addons/survey/tests/test_survey_compute_pages_questions.py new file mode 100644 index 00000000..d59dbf90 --- /dev/null +++ b/addons/survey/tests/test_survey_compute_pages_questions.py @@ -0,0 +1,69 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo.addons.survey.tests import common + + +class TestSurveyComputePagesQuestions(common.TestSurveyCommon): + def test_compute_pages_questions(self): + with self.with_user('survey_manager'): + survey = self.env['survey.survey'].create({ + 'title': 'Test compute survey', + 'state': 'open', + }) + + page_0 = self.env['survey.question'].create({ + 'is_page': True, + 'sequence': 1, + 'title': 'P1', + 'survey_id': survey.id + }) + page0_q0 = self._add_question(page_0, 'Q1', 'text_box', survey_id=survey.id) + page0_q1 = self._add_question(page_0, 'Q2', 'text_box', survey_id=survey.id) + page0_q2 = self._add_question(page_0, 'Q3', 'text_box', survey_id=survey.id) + page0_q3 = self._add_question(page_0, 'Q4', 'text_box', survey_id=survey.id) + page0_q4 = self._add_question(page_0, 'Q5', 'text_box', survey_id=survey.id) + + page_1 = self.env['survey.question'].create({ + 'is_page': True, + 'sequence': 7, + 'title': 'P2', + 'survey_id': survey.id, + }) + page1_q0 = self._add_question(page_1, 'Q6', 'text_box', survey_id=survey.id) + page1_q1 = self._add_question(page_1, 'Q7', 'text_box', survey_id=survey.id) + page1_q2 = self._add_question(page_1, 'Q8', 'text_box', survey_id=survey.id) + page1_q3 = self._add_question(page_1, 'Q9', 'text_box', survey_id=survey.id) + + self.assertEqual(len(survey.page_ids), 2, "Survey should have 2 pages") + self.assertIn(page_0, survey.page_ids, "Page 1 should be contained in survey's page_ids") + self.assertIn(page_1, survey.page_ids, "Page 2 should be contained in survey's page_ids") + + self.assertEqual(len(page_0.question_ids), 5, "Page 1 should have 5 questions") + self.assertIn(page0_q0, page_0.question_ids, "Question 1 should be in page 1") + self.assertIn(page0_q1, page_0.question_ids, "Question 2 should be in page 1") + self.assertIn(page0_q2, page_0.question_ids, "Question 3 should be in page 1") + self.assertIn(page0_q3, page_0.question_ids, "Question 4 should be in page 1") + self.assertIn(page0_q4, page_0.question_ids, "Question 5 should be in page 1") + + self.assertEqual(len(page_1.question_ids), 4, "Page 2 should have 4 questions") + self.assertIn(page1_q0, page_1.question_ids, "Question 6 should be in page 2") + self.assertIn(page1_q1, page_1.question_ids, "Question 7 should be in page 2") + self.assertIn(page1_q2, page_1.question_ids, "Question 8 should be in page 2") + self.assertIn(page1_q3, page_1.question_ids, "Question 9 should be in page 2") + + self.assertEqual(page0_q0.page_id, page_0, "Question 1 should belong to page 1") + self.assertEqual(page0_q1.page_id, page_0, "Question 2 should belong to page 1") + self.assertEqual(page0_q2.page_id, page_0, "Question 3 should belong to page 1") + self.assertEqual(page0_q3.page_id, page_0, "Question 4 should belong to page 1") + self.assertEqual(page0_q4.page_id, page_0, "Question 5 should belong to page 1") + + self.assertEqual(page1_q0.page_id, page_1, "Question 6 should belong to page 2") + self.assertEqual(page1_q1.page_id, page_1, "Question 7 should belong to page 2") + self.assertEqual(page1_q2.page_id, page_1, "Question 8 should belong to page 2") + self.assertEqual(page1_q3.page_id, page_1, "Question 9 should belong to page 2") + + # move 1 question from page 1 to page 2 + page0_q2.write({'sequence': 12}) + page0_q2._compute_page_id() + self.assertEqual(page0_q2.page_id, page_1, "Question 3 should now belong to page 2") |
