diff options
Diffstat (limited to 'addons/test_website_slides_full/tests/test_ui_wslides.py')
| -rw-r--r-- | addons/test_website_slides_full/tests/test_ui_wslides.py | 163 |
1 files changed, 163 insertions, 0 deletions
diff --git a/addons/test_website_slides_full/tests/test_ui_wslides.py b/addons/test_website_slides_full/tests/test_ui_wslides.py new file mode 100644 index 00000000..c3e999db --- /dev/null +++ b/addons/test_website_slides_full/tests/test_ui_wslides.py @@ -0,0 +1,163 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from dateutil.relativedelta import relativedelta +from odoo.fields import Datetime +from odoo import tests +from odoo.addons.website_slides.tests.test_ui_wslides import TestUICommon + +@tests.common.tagged('post_install', '-at_install') +class TestUi(TestUICommon): + + def test_course_certification_employee(self): + user_demo = self.user_demo + user_demo.flush() + # Avoid Billing/Shipping address page + user_demo.write({ + 'groups_id': [(5, 0), (4, self.env.ref('base.group_user').id)], + 'street': '215 Vine St', + 'city': 'Scranton', + 'zip': '18503', + 'country_id': self.env.ref('base.us').id, + 'state_id': self.env.ref('base.state_us_39').id, + 'phone': '+1 555-555-5555', + 'email': 'admin@yourcompany.example.com', + }) + + # Specify Accounting Data + cash_journal = self.env['account.journal'].create({'name': 'Cash - Test', 'type': 'cash', 'code': 'CASH - Test'}) + self.env['payment.acquirer'].search([('journal_id', '=', False)]).journal_id = cash_journal + a_recv = self.env['account.account'].create({ + 'code': 'X1012', + 'name': 'Debtors - (test)', + 'reconcile': True, + 'user_type_id': self.env.ref('account.data_account_type_receivable').id, + }) + a_pay = self.env['account.account'].create({ + 'code': 'X1111', + 'name': 'Creditors - (test)', + 'user_type_id': self.env.ref('account.data_account_type_payable').id, + 'reconcile': True, + }) + + Property = self.env['ir.property'] + Property._set_default('property_account_receivable_id', 'res.partner', a_recv, self.env.company) + Property._set_default('property_account_payable_id', 'res.partner', a_pay, self.env.company) + + product_course_channel_6 = self.env['product.product'].create({ + 'name': 'DIY Furniture Course', + 'list_price': 100.0, + 'type': 'service', + 'is_published': True, + }) + + furniture_survey = self.env['survey.survey'].create({ + 'title': 'Furniture Creation Certification', + 'access_token': '5632a4d7-48cf-aaaa-8c52-2174d58cf50b', + '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_attempts_limited': True, + 'attempts_limit': 3, + 'description': "<p>Test your furniture knowledge!</p>", + 'question_and_page_ids': [ + (0, 0, { + 'title': 'Furniture', + 'sequence': 1, + 'is_page': True, + 'description': "<p>Test your furniture knowledge!</p>", + }), (0, 0, { + 'title': 'What type of wood is the best for furniture?', + 'sequence': 2, + 'question_type': 'simple_choice', + 'constr_mandatory': True, + 'suggested_answer_ids': [ + (0, 0, { + 'value': 'Fir', + 'sequence': 1, + }), (0, 0, { + 'value': 'Oak', + 'sequence': 2, + 'is_correct': True, + 'answer_score': 2.0, + }), (0, 0, { + 'value': 'Ash', + 'sequence': 3, + }), (0, 0, { + 'value': 'Beech', + 'sequence': 4, + }) + ] + }), (0, 0, { + 'title': 'Select all the furniture shown in the video', + 'sequence': 3, + 'question_type': 'multiple_choice', + 'column_nb': '4', + 'suggested_answer_ids': [ + (0, 0, { + 'value': 'Chair', + 'sequence': 1, + 'is_correct': True, + 'answer_score': 1.0, + }), (0, 0, { + 'value': 'Table', + 'sequence': 2, + 'answer_score': -1.0, + }), (0, 0, { + 'value': 'Desk', + 'sequence': 3, + 'is_correct': True, + 'answer_score': 1.0, + }), (0, 0, { + 'value': 'Shelve', + 'sequence': 4, + 'is_correct': True, + 'answer_score': 1.0, + }), (0, 0, { + 'value': 'Bed', + 'sequence': 5, + 'answer_score': -1.0, + }) + ] + }), (0, 0, { + 'title': 'What do you think about the content of the course? (not rated)', + 'sequence': 4, + 'question_type': 'text_box', + }) + ] + }) + + slide_channel_demo_6_furn3 = self.env['slide.channel'].create({ + 'name': 'DIY Furniture - TEST', + 'user_id': self.env.ref('base.user_admin').id, + 'enroll': 'payment', + 'product_id': product_course_channel_6.id, + 'channel_type': 'training', + 'allow_comment': True, + 'promote_strategy': 'most_voted', + 'is_published': True, + 'description': 'So much amazing certification.', + 'create_date': Datetime.now() - relativedelta(days=2), + 'slide_ids': [ + (0, 0, { + 'name': 'DIY Furniture Certification', + 'sequence': 1, + 'slide_type': 'certification', + 'category_id': False, + 'is_published': True, + 'is_preview': False, + 'description': "It's time to test your knowledge!", + 'survey_id': furniture_survey.id, + }) + ] + }) + + self.browser_js( + '/slides', + 'odoo.__DEBUG__.services["web_tour.tour"].run("certification_member")', + 'odoo.__DEBUG__.services["web_tour.tour"].tours.certification_member.ready', + login=user_demo.login) |
