Merge PR #38 into 14.0

Signed-off-by DarioLodeiros
This commit is contained in:
OCA-git-bot
2021-07-25 18:25:54 +00:00
2 changed files with 85 additions and 1 deletions

View File

@@ -878,3 +878,87 @@ class TestPmsBookingEngine(TestPms):
discount * 100,
"The discount is not correctly established",
)
def test_check_folio_when_change_selection(self):
"""
Check, when creating a folio from booking engine,
if a room type is chosen and then deleted that selection
isn`t registered on the folio and is properly unselected
"""
# ARRANGE
# CREATION OF ROOM TYPE (WITH ROOM TYPE CLASS)
self.partner_id2 = self.env["res.partner"].create(
{
"name": "Brais",
"mobile": "654665553",
"email": "braistest@example.com",
}
)
self.test_room_type_triple = self.env["pms.room.type"].create(
{
"pms_property_ids": [self.pms_property1.id],
"name": "Triple Test",
"default_code": "TRP_Test",
"class_id": self.room_type_class1.id,
"list_price": 60.0,
}
)
# pms.room
self.test_room1_triple = self.env["pms.room"].create(
{
"pms_property_id": self.pms_property1.id,
"name": "Triple 301 test",
"room_type_id": self.test_room_type_triple.id,
"capacity": 3,
}
)
checkin = fields.date.today()
checkout = fields.date.today() + datetime.timedelta(days=1)
booking_engine = self.env["pms.booking.engine"].create(
{
"start_date": checkin,
"end_date": checkout,
"partner_id": self.partner_id2.id,
"pricelist_id": self.pricelist1.id,
"pms_property_id": self.pms_property1.id,
}
)
lines_availability_test_double = booking_engine.availability_results.filtered(
lambda r: r.room_type_id.id == self.test_room_type_double.id
)
value = self.env["pms.num.rooms.selection"].search(
[
("room_type_id", "=", self.test_room_type_double.id),
("value", "=", 1),
]
)
lines_availability_test_double[0].num_rooms_selected = value
lines_availability_test_double[0].value_num_rooms_selected = 1
lines_availability_test_double[0].value_num_rooms_selected = 0
lines_availability_test_triple = booking_engine.availability_results.filtered(
lambda r: r.room_type_id.id == self.test_room_type_triple.id
)
value_triple = self.env["pms.num.rooms.selection"].search(
[
("room_type_id", "=", self.test_room_type_triple.id),
("value", "=", 1),
]
)
lines_availability_test_triple[0].num_rooms_selected = value_triple
lines_availability_test_triple[0].value_num_rooms_selected = 1
# ACT
booking_engine.create_folio()
folio = self.env["pms.folio"].search([("partner_id", "=", self.partner_id2.id)])
# ASSERT
self.assertEqual(
len(folio.reservation_ids),
1,
"Reservations of folio are incorrect",
)

View File

@@ -389,7 +389,7 @@ class AvailabilityWizard(models.TransientModel):
@api.depends("num_rooms_selected")
def _compute_value_num_rooms_selected(self):
for record in self:
if record.num_rooms_selected and record.num_rooms_selected.value:
if record.num_rooms_selected:
record.value_num_rooms_selected = record.num_rooms_selected.value
elif not record.value_num_rooms_selected:
record.value_num_rooms_selected = 0