def test_create_guest_contact_no_guest_name(service: RegisterReservationInOdoo, context: Context, house, reservation): context.house = house context.reservation = attr.evolve(reservation, guest_name='', guest_surname='') result = service.create_guest_contact(context) assert not is_successful(result) assert result.failure().failure == ReservationErrors.missed_guest
def test_create_guest_contact_fail(mocker, service: RegisterReservationInOdoo, context: Context, house, reservation): mocker.patch('contacts.usecases.CreateContact.execute', return_value=Failure(CaseError(error='ERR'))) context.house = house context.reservation = reservation result = service.create_guest_contact(context) assert not is_successful(result) assert result.failure().failure == ReservationErrors.error assert result.failure().error == 'ERR'
def test_create_guest_contact_ok(mocker, service: RegisterReservationInOdoo, context: Context, house, reservation): mocker.patch('contacts.usecases.CreateContact.execute', return_value=Success(Contact(id=123, name='XXX'))) context.house = house context.reservation = reservation result = service.create_guest_contact(context) assert is_successful(result) assert result.unwrap().reservation.guest_contact_id == 123 assert result.unwrap().reservation.guest_contact_ids == [123]
def test_create_guest_contact_has_guest_contact_id( mocker, service: RegisterReservationInOdoo, context: Context, house, reservation ): mocker.patch('contacts.usecases.CreateContact.execute', return_value=Failure(CaseError(error='ERR'))) context.house = house context.reservation = attr.evolve(reservation, guest_contact_id=123) result = service.create_guest_contact(context) assert is_successful(result)