hotel_beds 0.2.1 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/INTERNALS.md +6 -0
- data/README.md +55 -29
- data/lib/hotel_beds/client.rb +11 -3
- data/lib/hotel_beds/connection.rb +2 -3
- data/lib/hotel_beds/hotel_basket_add/envelope.rb +71 -0
- data/lib/hotel_beds/hotel_basket_add/operation.rb +36 -0
- data/lib/hotel_beds/hotel_basket_add/request.rb +49 -0
- data/lib/hotel_beds/hotel_basket_add/response.rb +66 -0
- data/lib/hotel_beds/hotel_search/envelope.rb +27 -18
- data/lib/hotel_beds/hotel_search/parser/errors.rb +49 -0
- data/lib/hotel_beds/hotel_search/parser/hotel.rb +67 -0
- data/lib/hotel_beds/hotel_search/parser/price.rb +38 -0
- data/lib/hotel_beds/hotel_search/parser/room.rb +46 -0
- data/lib/hotel_beds/hotel_search/parser/room_grouper.rb +101 -0
- data/lib/hotel_beds/hotel_search/request.rb +5 -23
- data/lib/hotel_beds/hotel_search/response.rb +16 -68
- data/lib/hotel_beds/model.rb +0 -1
- data/lib/hotel_beds/model/available_room.rb +9 -11
- data/lib/hotel_beds/model/cancellation_policy.rb +14 -0
- data/lib/hotel_beds/model/hotel.rb +4 -0
- data/lib/hotel_beds/model/purchase.rb +16 -0
- data/lib/hotel_beds/model/requested_room.rb +7 -0
- data/lib/hotel_beds/model/room.rb +31 -0
- data/lib/hotel_beds/model/search_result.rb +0 -5
- data/lib/hotel_beds/model/service.rb +18 -0
- data/lib/hotel_beds/version.rb +1 -1
- data/spec/features/adding_a_hotel_to_basket_spec.rb +58 -0
- data/spec/features/hotel_search_spec.rb +31 -9
- data/spec/lib/hotel_beds/hotel_search/parser/room_grouper_spec.rb +53 -0
- data/spec/spec_helper.rb +8 -0
- metadata +20 -5
- data/lib/hotel_beds/hotel_search/room_grouper.rb +0 -64
- data/spec/lib/hotel_beds/hotel_search/room_grouper_spec.rb +0 -45
@@ -1,45 +0,0 @@
|
|
1
|
-
require "hotel_beds/hotel_search/room_grouper"
|
2
|
-
|
3
|
-
RSpec.describe HotelBeds::HotelSearch::RoomGrouper do
|
4
|
-
subject { described_class.new(requested_rooms, response_rooms).results }
|
5
|
-
|
6
|
-
context "when asking for 2 rooms (2 adults & 1 adult, 1 child)" do
|
7
|
-
let(:requested_rooms) do
|
8
|
-
[
|
9
|
-
double(:requested_room, adult_count: 2, child_count: 0),
|
10
|
-
double(:requested_room, adult_count: 1, child_count: 1)
|
11
|
-
]
|
12
|
-
end
|
13
|
-
|
14
|
-
let(:response_rooms) do
|
15
|
-
[
|
16
|
-
double(:response_room_1, id: "room_1", adult_count: 2, child_count: 0, number_available: 1),
|
17
|
-
double(:response_room_2, id: "room_2", adult_count: 2, child_count: 0, number_available: 1),
|
18
|
-
double(:response_room_3, id: "room_3", adult_count: 1, child_count: 1, number_available: 2),
|
19
|
-
double(:response_room_4, id: "room_4", adult_count: 1, child_count: 1, number_available: 1),
|
20
|
-
double(:response_room_5, id: "room_5", adult_count: 2, child_count: 0, number_available: 2)
|
21
|
-
]
|
22
|
-
end
|
23
|
-
|
24
|
-
it "should return 6 results" do
|
25
|
-
expect(subject.size).to eq(6)
|
26
|
-
end
|
27
|
-
end
|
28
|
-
|
29
|
-
context "when asking for 1 rooms (1 adult, 1 child)" do
|
30
|
-
let(:requested_rooms) do
|
31
|
-
[double(:requested_room, adult_count: 1, child_count: 1)]
|
32
|
-
end
|
33
|
-
|
34
|
-
let(:response_rooms) do
|
35
|
-
[
|
36
|
-
double(:response_room_1, id: "room_1", adult_count: 1, child_count: 1, number_available: 2),
|
37
|
-
double(:response_room_2, id: "room_2", adult_count: 1, child_count: 1, number_available: 1)
|
38
|
-
]
|
39
|
-
end
|
40
|
-
|
41
|
-
it "should return 2 results" do
|
42
|
-
expect(subject.size).to eq(2)
|
43
|
-
end
|
44
|
-
end
|
45
|
-
end
|