From 09725e5b6194ee1cf41f6ea877ee022970fd7c36 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dar=C3=ADo=20Lodeiros?= Date: Wed, 2 Dec 2020 17:56:23 +0100 Subject: [PATCH] [FIX] test sales channel --- pms/models/pms_reservation.py | 6 +++++ pms/tests/test_pms_folio.py | 2 +- pms/tests/test_pms_sale_channel.py | 41 +++++++++++++----------------- 3 files changed, 25 insertions(+), 24 deletions(-) diff --git a/pms/models/pms_reservation.py b/pms/models/pms_reservation.py index 9163bf871..4855720fb 100644 --- a/pms/models/pms_reservation.py +++ b/pms/models/pms_reservation.py @@ -1017,6 +1017,12 @@ class PmsReservation(models.Model): _("Format Departure Hour (HH:MM) Error: %s", record.departure_hour) ) + @api.constrains("agency_id") + def _no_agency_as_agency(self): + for record in self: + if record.agency_id and not record.agency_id.is_agency: + raise ValidationError(_("booking agency with wrong configuration: ")) + # @api.constrains("reservation_type", "partner_id") # def _check_partner_reservation(self): # for reservation in self: diff --git a/pms/tests/test_pms_folio.py b/pms/tests/test_pms_folio.py index cd1bd45ac..6e5138727 100644 --- a/pms/tests/test_pms_folio.py +++ b/pms/tests/test_pms_folio.py @@ -43,7 +43,7 @@ class TestPmsFolio(TestHotel): ) commission = 0 - for reservation in folio: + for reservation in folio.reservation_ids: commission += reservation.commission_amount # ASSERT diff --git a/pms/tests/test_pms_sale_channel.py b/pms/tests/test_pms_sale_channel.py index f482b773c..d9e5ea937 100644 --- a/pms/tests/test_pms_sale_channel.py +++ b/pms/tests/test_pms_sale_channel.py @@ -26,36 +26,22 @@ class TestPmsSaleChannel(TestHotel): } ) - def test_partner_as_direct_channel(self): - # ARRANGE - PmsReservation = self.env["pms.reservation"] - partner = self.env.ref("base.res_partner_12") - # ACT & ASSERT - with self.assertRaises(ValidationError), self.cr.savepoint(): - PmsReservation.create( - { - "checkin": datetime.datetime.now(), - "checkout": datetime.datetime.now() + datetime.timedelta(days=3), - "channel_type_id": partner.id, - } - ) - def test_channel_type_id_only_directs(self): # ARRANGE PmsReservation = self.env["pms.reservation"] PmsSaleChannel = self.env["pms.sale.channel"] # ACT - saleChannel = PmsSaleChannel.create({"channel_type": "direct"}) + salechannel = PmsSaleChannel.create({"channel_type": "direct"}) reservation = PmsReservation.create( { "checkin": datetime.datetime.now(), - "checkout": datetime.datetime.now() + datetime.datetimedelta(days=3), - "channel_type_id": saleChannel.id, + "checkout": datetime.datetime.now() + datetime.timedelta(days=3), + "channel_type_id": salechannel.id, } ) # ASSERT self.assertEqual( - self.browse_ref(reservation.channel_type_id).channel_type, + reservation.channel_type_id.channel_type, "direct", "Sale channel is not direct", ) @@ -63,19 +49,28 @@ class TestPmsSaleChannel(TestHotel): def test_agency_id_is_agency(self): # ARRANGE PmsReservation = self.env["pms.reservation"] - + PmsSaleChannel = self.env["pms.sale.channel"] + salechannel = PmsSaleChannel.create( + {"name": "Test Indirect", "channel_type": "indirect"} + ) # ACT - agency = self.env["res.partner"].create({"name": "partner1", "is_agency": True}) + agency = self.env["res.partner"].create( + { + "name": "partner1", + "is_agency": True, + "sale_channel_id": salechannel.id, + } + ) reservation = PmsReservation.create( { "checkin": datetime.datetime.now(), - "checkout": datetime.datetime.now() + datetime.datetimedelta(days=3), + "checkout": datetime.datetime.now() + datetime.timedelta(days=3), "agency_id": agency.id, } ) # ASSERT self.assertEqual( - self.browse_ref(reservation.agency_id).is_agency, + reservation.agency_id.is_agency, True, "Agency_id doesn't correspond to an agency", ) @@ -90,7 +85,7 @@ class TestPmsSaleChannel(TestHotel): ) # ASSERT self.assertEqual( - self.browse_ref(agency.sale_channel_id).channel_type, + agency.sale_channel_id.channel_type, "indirect", "An agency should be a indirect channel", )