64 lines
2.9 KiB
Python
64 lines
2.9 KiB
Python
|
# -*- coding: utf-8 -*-
|
||
|
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||
|
|
||
|
from odoo import tests
|
||
|
from odoo.addons.base.tests.common import HttpCaseWithUserDemo
|
||
|
|
||
|
|
||
|
@tests.tagged('post_install', '-at_install')
|
||
|
class TestLivechatChatbotFormUI(HttpCaseWithUserDemo):
|
||
|
def test_chatbot_steps_sequence_ui(self):
|
||
|
""" As sequences are *critical* for the chatbot_script script, let us a run a little tour that
|
||
|
creates a few steps, then verify sequences are properly applied. """
|
||
|
|
||
|
self.start_tour(
|
||
|
'/web',
|
||
|
'im_livechat_chatbot_steps_sequence_tour',
|
||
|
login='admin',
|
||
|
step_delay=1000
|
||
|
)
|
||
|
|
||
|
chatbot_script = self.env['chatbot.script'].search([('title', '=', 'Test Chatbot Sequence')])
|
||
|
|
||
|
self.assertEqual(len(chatbot_script.script_step_ids), 3)
|
||
|
|
||
|
self.assertEqual(chatbot_script.script_step_ids[0].message, 'Step 1')
|
||
|
self.assertEqual(chatbot_script.script_step_ids[0].sequence, 0)
|
||
|
self.assertEqual(chatbot_script.script_step_ids[1].message, 'Step 2')
|
||
|
self.assertEqual(chatbot_script.script_step_ids[1].sequence, 1)
|
||
|
self.assertEqual(chatbot_script.script_step_ids[2].message, 'Step 3')
|
||
|
self.assertEqual(chatbot_script.script_step_ids[2].sequence, 2)
|
||
|
|
||
|
def test_chatbot_steps_sequence_with_move_ui(self):
|
||
|
""" Same as above, with more steps and a drag&drop within the tour.
|
||
|
|
||
|
It is important to test those separately, as we want proper sequences even if we don't
|
||
|
move records around. """
|
||
|
|
||
|
self.start_tour(
|
||
|
'/web',
|
||
|
'im_livechat_chatbot_steps_sequence_with_move_tour',
|
||
|
login='admin',
|
||
|
step_delay=1000
|
||
|
)
|
||
|
|
||
|
chatbot_script = self.env['chatbot.script'].search([('title', '=', 'Test Chatbot Sequence')])
|
||
|
|
||
|
self.assertEqual(len(chatbot_script.script_step_ids), 6)
|
||
|
|
||
|
# during the test, we create the steps normally and then move 'Step 5'
|
||
|
# in second position -> check order is correct
|
||
|
|
||
|
self.assertEqual(chatbot_script.script_step_ids[0].message, 'Step 1')
|
||
|
self.assertEqual(chatbot_script.script_step_ids[0].sequence, 0)
|
||
|
self.assertEqual(chatbot_script.script_step_ids[1].message, 'Step 5')
|
||
|
self.assertEqual(chatbot_script.script_step_ids[1].sequence, 1)
|
||
|
self.assertEqual(chatbot_script.script_step_ids[2].message, 'Step 2')
|
||
|
self.assertEqual(chatbot_script.script_step_ids[2].sequence, 2)
|
||
|
self.assertEqual(chatbot_script.script_step_ids[3].message, 'Step 3')
|
||
|
self.assertEqual(chatbot_script.script_step_ids[3].sequence, 3)
|
||
|
self.assertEqual(chatbot_script.script_step_ids[4].message, 'Step 4')
|
||
|
self.assertEqual(chatbot_script.script_step_ids[4].sequence, 4)
|
||
|
self.assertEqual(chatbot_script.script_step_ids[5].message, 'Step 6')
|
||
|
self.assertEqual(chatbot_script.script_step_ids[5].sequence, 5)
|