def test_missed_room_type(service: CreateReservation, context: Context, house): context.house = house context.request.roomtype_id = None result = service.select_room_type(context) assert not is_successful(result) assert result.failure().failure == ReservationErrors.missed_roomtype
def test_select_room_type_ok(service: CreateReservation, context: Context, house, room_type): service._roomtypes_repo = Mock(get=Mock(return_value=Some(room_type))) context.house = house result = service.select_room_type(context) assert is_successful(result) assert result.unwrap().room_type == room_type
def test_select_room_type_fail(service: CreateReservation, context: Context, house): service._roomtypes_repo = Mock(get=Mock(return_value=Nothing)) context.house = house result = service.select_room_type(context) assert not is_successful(result) assert result.failure().failure == ReservationErrors.missed_roomtype
def test_select_room_type_error(service: CreateReservation, context: Context, house): service._roomtypes_repo = Mock(get=Mock(side_effect=RuntimeError('ERR'))) context.house = house result = service.select_room_type(context) assert not is_successful(result) assert result.failure().failure == ReservationErrors.error assert str(result.failure().exc) == 'ERR'