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_ui_certification.py | |
| parent | 0a15094050bfde69a06d6eff798e9a8ddf2b8c21 (diff) | |
initial commit 2
Diffstat (limited to 'addons/survey/tests/test_survey_ui_certification.py')
| -rw-r--r-- | addons/survey/tests/test_survey_ui_certification.py | 282 |
1 files changed, 282 insertions, 0 deletions
diff --git a/addons/survey/tests/test_survey_ui_certification.py b/addons/survey/tests/test_survey_ui_certification.py new file mode 100644 index 00000000..9ba15c55 --- /dev/null +++ b/addons/survey/tests/test_survey_ui_certification.py @@ -0,0 +1,282 @@ +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +import odoo.tests + +from odoo.addons.base.tests.common import HttpCaseWithUserDemo + + +@odoo.tests.common.tagged('post_install', '-at_install') +class TestUiCertification(HttpCaseWithUserDemo): + + def setUp(self): + super(TestUiCertification, self).setUp() + + self.survey_certification = self.env['survey.survey'].create({ + 'title': 'MyCompany Vendor Certification', + 'access_token': '4ead4bc8-b8f2-4760-a682-1fde8daaaaac', + 'state': 'open', + 'access_mode': 'public', + 'users_can_go_back': True, + 'users_login_required': True, + 'scoring_type': 'scoring_with_answers', + 'certification': True, + 'certification_mail_template_id': self.env.ref('survey.mail_template_certification').id, + 'is_time_limited': 'limited', + 'time_limit': 10.0, + 'is_attempts_limited': True, + 'attempts_limit': 2, + 'description': """<p>Test your vendor skills!.</p>""", + 'question_and_page_ids': [ + (0, 0, { + 'title': 'Products', + 'sequence': 1, + 'is_page': True, + 'question_type': False, + 'description': '<p>Test your knowledge of your products!</p>', + }), (0, 0, { + 'title': 'Do we sell Acoustic Bloc Screens?', + 'sequence': 2, + 'question_type': 'simple_choice', + 'constr_mandatory': True, + 'suggested_answer_ids': [ + (0, 0, { + 'value': 'No', + 'sequence': 1, + }), (0, 0, { + 'value': 'Yes', + 'sequence': 2, + 'is_correct': True, + 'answer_score': 2, + }) + ], + }), (0, 0, { + 'title': 'Select all the existing products', + 'sequence': 3, + 'question_type': 'multiple_choice', + 'column_nb': '4', + 'suggested_answer_ids': [ + (0, 0, { + 'value': 'Chair floor protection', + 'sequence': 1, + 'is_correct': True, + 'answer_score': 1, + }), (0, 0, { + 'value': 'Fanta', + 'sequence': 2, + 'answer_score': -1, + }), (0, 0, { + 'value': 'Conference chair', + 'sequence': 3, + 'is_correct': True, + 'answer_score': 1, + }), (0, 0, { + 'value': 'Drawer', + 'sequence': 4, + 'is_correct': True, + 'answer_score': 1, + }), (0, 0, { + 'value': 'Customizable Lamp', + 'sequence': 5, + 'answer_score': -1, + }) + ] + }), (0, 0, { + 'title': 'Select all the available customizations for our Customizable Desk', + 'sequence': 4, + 'question_type': 'multiple_choice', + 'column_nb': '4', + 'suggested_answer_ids': [ + (0, 0, { + 'value': 'Color', + 'sequence': 1, + 'is_correct': True, + 'answer_score': 1, + }), (0, 0, { + 'value': 'Height', + 'sequence': 2, + 'answer_score': -1, + }), (0, 0, { + 'value': 'Width', + 'sequence': 3, + 'is_correct': True, + 'answer_score': 1, + }), (0, 0, { + 'value': 'Legs', + 'sequence': 4, + 'is_correct': True, + 'answer_score': 1, + }), (0, 0, { + 'value': 'Number of drawers', + 'sequence': 5, + 'answer_score': -1, + }) + ] + }), (0, 0, { + 'title': 'How many versions of the Corner Desk do we have?', + 'sequence': 5, + 'question_type': 'simple_choice', + 'constr_mandatory': True, + 'suggested_answer_ids': [ + (0, 0, { + 'value': 1, + 'sequence': 1, + }), (0, 0, { + 'value': 2, + 'sequence': 2, + 'is_correct': True, + 'answer_score': 2, + }), (0, 0, { + 'value': 3, + 'sequence': 3, + }), (0, 0, { + 'value': 4, + 'sequence': 4, + }) + ] + }), (0, 0, { + 'title': 'Do you think we have missing products in our catalog? (not rated)', + 'sequence': 6, + 'question_type': 'text_box', + }), (0, 0, { + 'title': 'Prices', + 'sequence': 7, + 'is_page': True, + 'question_type': False, + 'description': """<p>Test your knowledge of our prices.</p>""", + }), (0, 0, { + 'title': 'How much do we sell our Cable Management Box?', + 'sequence': 8, + 'question_type': 'simple_choice', + 'constr_mandatory': True, + 'suggested_answer_ids': [ + (0, 0, { + 'value': '$20', + 'sequence': 1, + }), (0, 0, { + 'value': '$50', + 'sequence': 2, + }), (0, 0, { + 'value': '$80', + 'sequence': 3, + }), (0, 0, { + 'value': '$100', + 'sequence': 4, + 'is_correct': True, + 'answer_score': 2, + }), (0, 0, { + 'value': '$200', + 'sequence': 5, + }), (0, 0, { + 'value': '$300', + 'sequence': 6, + }) + ] + }), (0, 0, { + 'title': 'Select all the products that sell for $100 or more', + 'sequence': 9, + 'question_type': 'multiple_choice', + 'column_nb': '2', + 'suggested_answer_ids': [ + (0, 0, { + 'value': 'Corner Desk Right Sit', + 'sequence': 1, + 'answer_score': 1, + 'is_correct': True, + }), (0, 0, { + 'value': 'Desk Combination', + 'sequence': 2, + 'answer_score': 1, + 'is_correct': True, + }), (0, 0, { + 'value': 'Cabinet with Doors', + 'sequence': 3, + 'answer_score': -1, + }), (0, 0, { + 'value': 'Large Desk', + 'sequence': 4, + 'answer_score': 1, + 'is_correct': True, + }), (0, 0, { + 'value': 'Letter Tray', + 'sequence': 5, + 'answer_score': -1, + }), (0, 0, { + 'value': 'Office Chair Black', + 'sequence': 6, + 'answer_score': -1, + }), + ] + }), (0, 0, { + 'title': 'What do you think about our prices (not rated)?', + 'sequence': 10, + 'question_type': 'simple_choice', + 'constr_mandatory': True, + 'suggested_answer_ids': [ + (0, 0, { + 'value': 'Very underpriced', + 'sequence': 1, + }), (0, 0, { + 'value': 'Underpriced', + 'sequence': 2, + }), (0, 0, { + 'value': 'Correctly priced', + 'sequence': 3, + }), (0, 0, { + 'value': 'A little bit overpriced', + 'sequence': 4, + }), (0, 0, { + 'value': 'A lot overpriced', + 'sequence': 5, + }) + ] + }), (0, 0, { + 'title': 'Policies', + 'sequence': 11, + 'is_page': True, + 'question_type': False, + 'description': """<p>Test your knowledge of our policies.</p>""", + }), (0, 0, { + 'title': 'How many days is our money-back guarantee?', + 'sequence': 12, + 'question_type': 'numerical_box', + 'constr_mandatory': True, + 'is_scored_question': True, + 'answer_numerical_box': 30, + 'answer_score': 1, + }), (0, 0, { + 'title': 'If a customer purchases a product on 6 January 2020, what is the latest day we expect to ship it?', + 'sequence': 13, + 'question_type': 'date', + 'is_scored_question': True, + 'answer_date': '2020-01-08', + 'answer_score': 1, + }), (0, 0, { + 'title': 'If a customer purchases a 1 year warranty on 6 January 2020, when do we expect the warranty to expire?', + 'sequence': 14, + 'question_type': 'datetime', + 'is_scored_question': True, + 'answer_datetime': '2021-01-07 00:00:01', + 'answer_score': 1, + }), (0, 0, { + 'title': 'What day to you think is best for us to start having an annual sale (not rated)?', + 'sequence': 15, + 'question_type': 'date', + }), (0, 0, { + 'title': 'What day and time do you think most customers are most likely to call customer service (not rated)?', + 'sequence': 16, + 'question_type': 'datetime', + }), (0, 0, { + 'title': 'How many chairs do you think we should aim to sell in a year (not rated)?', + 'sequence': 17, + 'question_type': 'numerical_box', + }) + ] + }) + + def test_04_certification_success_tour(self): + access_token = self.survey_certification.access_token + self.start_tour("/survey/start/%s" % access_token, 'test_certification_success', login="demo") + + def test_05_certification_failure_tour(self): + access_token = self.survey_certification.access_token + self.start_tour("/survey/start/%s" % access_token, 'test_certification_failure', login="demo") |
