website_event_meet/tests/test_website_event_meet.py

91 lines
3.9 KiB
Python

# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from datetime import datetime, timedelta
from odoo import fields
from odoo.addons.event.tests.common import EventCase
from odoo.tests import Form
class TestWebsiteEventMeet(EventCase):
@classmethod
def setUpClass(cls):
super(TestWebsiteEventMeet, cls).setUpClass()
cls.event_0 = cls.env['event.event'].create({
'name': 'TestEvent',
'date_begin': fields.Datetime.to_string(datetime.today() + timedelta(days=1)),
'date_end': fields.Datetime.to_string(datetime.today() + timedelta(days=15)),
'date_tz': 'Europe/Brussels',
})
def test_meeting_room_create(self):
"""Test that the field of the mixin are automatically filled."""
new_meeting_room_form = Form(self.env["event.meeting.room"])
new_meeting_room_form.name = "Test name"
new_meeting_room_form.event_id = self.event_0
new_meeting_room_form.target_audience = "dev"
new_meeting_room_form.room_max_capacity = "20"
meeting_room = new_meeting_room_form.save()
self.assertTrue(meeting_room.chat_room_id)
self.assertEqual(meeting_room.chat_room_id.max_capacity, "20")
# Try to create a meeting room without filling the related field
# It must create the `chat.room` with the default value
meeting_room = self.env["event.meeting.room"].create({
"name": "Test 2",
"event_id": self.event_0.id,
"target_audience": "dev"
})
self.assertTrue(meeting_room.chat_room_id)
self.assertTrue(meeting_room.chat_room_id.name)
self.assertEqual(meeting_room.chat_room_id.max_capacity, "8")
# Ensure default value for room_max_capacity in event.meeting.room
self.assertEqual(meeting_room.room_max_capacity, "8")
def test_meeting_room_copy(self):
"""Test the duplication of the meeting room."""
meeting_room_1 = self.env["event.meeting.room"].create({
"name": "Test meeting room",
"event_id": self.event_0.id,
"target_audience": "dev",
"room_max_capacity": "20",
})
self.assertEqual(meeting_room_1.room_name, 'odoo-room-test-meeting-room')
meeting_room_2 = meeting_room_1.copy()
self.assertEqual(meeting_room_2.room_name, 'odoo-room-test-meeting-room-1')
chat_room_1 = meeting_room_1.chat_room_id
chat_room_2 = meeting_room_2.chat_room_id
self.assertTrue(chat_room_1)
self.assertTrue(chat_room_2)
self.assertNotEqual(chat_room_1.id, chat_room_2.id, "Must create a new chat room")
self.assertNotEqual(chat_room_1.name, chat_room_2.name, "Must generate a new chat room name")
self.assertEqual(chat_room_1.max_capacity, "20", "Must set the max capacity on the chat room")
self.assertEqual(chat_room_2.max_capacity, "20", "Must copy the max capacity")
meeting_room_3 = meeting_room_1.copy()
self.assertEqual(meeting_room_3.room_name, 'odoo-room-test-meeting-room-2')
# Ensure room_max_capacity is copied to new meeting room
self.assertEqual(meeting_room_3.room_max_capacity, "20")
# Ensure max_capacity in linked chat room is same
self.assertEqual(meeting_room_3.chat_room_id.max_capacity, "20")
def test_meeting_room_unlink(self):
"""Test the duplication of the meeting room."""
meeting_room = self.env["event.meeting.room"].create({
"name": "Test meeting room",
"event_id": self.event_0.id,
"target_audience": "dev",
"room_max_capacity": "20",
})
self.assertTrue(meeting_room.chat_room_id)
chat_room_id = meeting_room.chat_room_id.id
meeting_room.unlink()
self.assertFalse(self.env["chat.room"].browse(chat_room_id).exists())