summaryrefslogtreecommitdiff
path: root/addons/website_event/tests/test_visitor_events.py
blob: 814cd531ac5fd09c70d47116277d1ce59a9fdb3f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# -*- 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 TestEventCommon


class TestVisitorEvents(TestEventCommon):
    def test_visitor_events(self):
        event_1 = self.env['event.event'].create({
            'name': 'OtherEvent',
            'auto_confirm': True,
            'date_begin': fields.Datetime.to_string(datetime.today() + timedelta(days=1)),
            'date_end': fields.Datetime.to_string(datetime.today() + timedelta(days=15)),
        })

        [main_visitor, child_visitor] = self.env['website.visitor'].create([{
            'name': 'Main Visitor',
            'event_registration_ids': [(0, 0, {
                'event_id': self.event_0.id
            })]
        }, {
            'name': 'Child Visitor',
            'event_registration_ids': [(0, 0, {
                'event_id': event_1.id
            })]
        }])

        self.assertEqual(self.event_0, main_visitor.event_registered_ids)
        self.assertEqual(event_1, child_visitor.event_registered_ids)
        self.assertEqual(
            main_visitor,
            self.env['website.visitor'].search([('event_registered_ids', 'in', self.event_0.ids)])
        )
        self.assertEqual(
            child_visitor,
            self.env['website.visitor'].search([('event_registered_ids', 'in', event_1.ids)])
        )
        child_visitor._link_to_visitor(main_visitor)
        self.assertEqual(self.event_0 | event_1, main_visitor.event_registered_ids)
        self.assertEqual(
            main_visitor | child_visitor,
            self.env['website.visitor'].with_context(active_test=False).search([('event_registered_ids', 'in', self.event_0.ids)])
        )
        self.assertEqual(
            main_visitor | child_visitor,
            self.env['website.visitor'].with_context(active_test=False).search([('event_registered_ids', 'in', event_1.ids)])
        )