[IMP] test_event_full: improve full tour registration test

Adding some steps and checks, notably

  * add questions and fill them while registering;
  * in unit test launching tour, check content of registration
    as well as visitor;

LINKS

Task ID-2169118
odoo/odoo#55967
odoo/enterprise#12438

X-original-commit: 83f5c49f8f6734ab2beb9347029cbb69d154d15d
This commit is contained in:
Thibault Delavallée
2020-08-17 16:29:52 +00:00
parent 5ee37a42f7
commit 040c439450
4 changed files with 72 additions and 16 deletions
@@ -91,9 +91,12 @@ var registerSteps = [{
$("input[name='1-name']").val("Raoulette Poiluchette");
$("input[name='1-phone']").val("0456112233");
$("input[name='1-email']").val("raoulette@example.com");
$("select[name*='question_answer-1']").val($("select[name*='question_answer-1'] option:contains('Consumers')").val());
$("input[name='2-name']").val("Michel Tractopelle");
$("input[name='2-phone']").val("0456332211");
$("input[name='2-email']").val("michel@example.com");
$("select[name*='question_answer-2']").val($("select[name*='question_answer-1'] option:contains('Research')").val());
$("textarea[name*='question_answer']").text("An unicorn told me about you. I ate it afterwards.");
},
}, {
content: "Validate attendees details",
@@ -101,8 +104,15 @@ var registerSteps = [{
trigger: 'button:contains("Continue")',
run: 'click',
}, {
trigger: 'h3:contains("Registration confirmed!")',
trigger: 'div.o_wereg_confirmed_attendees span:contains("Raoulette Poiluchette")',
run: function () {} // check
}, {
trigger: 'div.o_wereg_confirmed_attendees span:contains("Michel Tractopelle")',
run: function () {} // check
}, {
content: "Click on 'register favorites talks' button",
trigger: 'a:contains("register to your favorites talks now")',
run: 'click',
}];
/**
+5 -15
View File
@@ -3,7 +3,6 @@
from datetime import datetime, timedelta, time
from odoo import fields
from odoo.addons.base.tests.common import HttpCaseWithUserDemo, HttpCaseWithUserPortal
from odoo.addons.event_crm.tests.common import TestEventCrmCommon
from odoo.addons.sales_team.tests.common import TestSalesCommon
@@ -209,27 +208,18 @@ class TestWEventCommon(HttpCaseWithUserDemo, HttpCaseWithUserPortal, EventDtPatc
# ------------------------------------------------------------
self.event_question_1 = self.env['event.question'].create({
'title': 'Question1',
'title': 'Which field are you working in',
'question_type': 'simple_choice',
'event_id': self.event.id,
'once_per_order': False,
'answer_ids': [
(0, 0, {'name': 'Q1-Answer1'}),
(0, 0, {'name': 'Q1-Answer2'})
(0, 0, {'name': 'Consumers'}),
(0, 0, {'name': 'Sales'}),
(0, 0, {'name': 'Research'}),
],
})
self.event_question_2 = self.env['event.question'].create({
'title': 'Question2',
'question_type': 'simple_choice',
'event_id': self.event.id,
'once_per_order': True,
'answer_ids': [
(0, 0, {'name': 'Q2-Answer1'}),
(0, 0, {'name': 'Q2-Answer2'})
],
})
self.event_question_3 = self.env['event.question'].create({
'title': 'Question3',
'title': 'How did you hear about us ?',
'question_type': 'text_box',
'event_id': self.event.id,
'once_per_order': True,
@@ -16,3 +16,29 @@ class TestWEventRegister(TestWEventCommon):
'odoo.__DEBUG__.services["web_tour.tour"].tours.wevent_register.ready',
login=None
)
new_registrations = self.event.registration_ids
visitor = new_registrations.visitor_id
# check registration content
self.assertEqual(len(new_registrations), 2)
self.assertEqual(
set(new_registrations.mapped("name")),
set(["Raoulette Poiluchette", "Michel Tractopelle"])
)
self.assertEqual(
set(new_registrations.mapped("phone")),
set(["0456112233", "0456332211"])
)
self.assertEqual(
set(new_registrations.mapped("email")),
set(["raoulette@example.com", "michel@example.com"])
)
# check visitor stored information
self.assertEqual(visitor.name, "Raoulette Poiluchette")
self.assertEqual(visitor.event_registration_ids, new_registrations)
self.assertEqual(visitor.partner_id, self.env['res.partner'])
self.assertEqual(visitor.mobile, "0456112233")
self.assertEqual(visitor.email, "raoulette@example.com")
self.assertFalse(visitor.parent_id)
self.assertTrue(visitor.active)
@@ -66,4 +66,34 @@
<field name="sequence">3</field>
<field name="question_id" ref="website_event_questions.event_0_question_2"/>
</record>
<!-- Questions of: "OpenWood: Furniture Collection Online Reveal" -->
<record id="event_7_question_0" model="event.question">
<field name="title">Which field are you working in</field>
<field name="question_type">simple_choice</field>
<field name="once_per_order" eval="False"/>
<field name="event_id" ref="event.event_7"/>
</record>
<record id="event_7_question_0_answer_0" model="event.question.answer">
<field name="name">Consumers</field>
<field name="sequence">1</field>
<field name="question_id" ref="website_event_questions.event_7_question_0"/>
</record>
<record id="event_7_question_0_answer_1" model="event.question.answer">
<field name="name">Sales</field>
<field name="sequence">2</field>
<field name="question_id" ref="website_event_questions.event_7_question_0"/>
</record>
<record id="event_7_question_0_answer_2" model="event.question.answer">
<field name="name">Research</field>
<field name="sequence">3</field>
<field name="question_id" ref="website_event_questions.event_7_question_0"/>
</record>
<record id="event_7_question_1" model="event.question">
<field name="title">How did you hear about us ?</field>
<field name="question_type">text_box</field>
<field name="once_per_order" eval="True"/>
<field name="event_id" ref="event.event_7"/>
</record>
</data></odoo>