Skip to content

Commit 586d625

Browse files
committed
Change stub and columns in test suites from connpass API v1 to v2
1 parent c1c4b38 commit 586d625

File tree

2 files changed

+49
-31
lines changed

2 files changed

+49
-31
lines changed

spec/lib/event_service/providers/connpass_spec.rb

Lines changed: 11 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -8,40 +8,28 @@
88
subject { described_class.new.search(keyword: 'coderdojo') }
99

1010
it do
11-
expect(subject).to be_instance_of(Hash)
12-
expect(subject['results_returned']).to eq 1
13-
expect(subject['events'].size).to eq 1
14-
expect(subject['events'].first['event_id']).to eq 12345
15-
expect(subject['events'].first['series']['url']).to eq 'https://coderdojo-okutama.connpass.com/'
16-
expect(subject['events'].first['series']['id']).to eq 9876
11+
expect(subject).to be_a(ConnpassApiV2::Response)
12+
expect(subject.results_returned).to eq 100
13+
expect(subject.events).to be_a(Array)
1714
end
1815
end
1916

2017
describe '#fetch_events' do
21-
context 'when a single series_id is given' do
22-
subject { described_class.new.fetch_events(series_id: 9876) }
18+
context 'when a single group_id is given' do
19+
subject { described_class.new.fetch_events(group_id: 9876) }
2320

2421
it do
25-
expect(subject).to be_instance_of(Array)
26-
expect(subject.size).to eq 1
27-
expect(subject.first['event_id']).to eq 12345
28-
expect(subject.first['series']['url']).to eq 'https://coderdojo-okutama.connpass.com/'
29-
expect(subject.first['series']['id']).to eq 9876
22+
expect(subject).to be_a(Array)
23+
expect(subject.size).to eq 4
3024
end
3125
end
3226

33-
context 'when multiple series_ids are given' do
34-
subject { described_class.new.fetch_events(series_id: [9876, 9877]) }
27+
context 'when multiple group_ids are given' do
28+
subject { described_class.new.fetch_events(group_id: [9876, 9877]) }
3529

3630
it do
37-
expect(subject).to be_instance_of(Array)
38-
expect(subject.size).to eq 2
39-
expect(subject.first['event_id']).to eq 12345
40-
expect(subject.first['series']['url']).to eq 'https://coderdojo-okutama.connpass.com/'
41-
expect(subject.first['series']['id']).to eq 9876
42-
expect(subject.second['event_id']).to eq 12346 # assuming the second event has id 12346
43-
expect(subject.second['series']['url']).to eq 'https://coderdojo-okutama2.connpass.com/'
44-
expect(subject.second['series']['id']).to eq 9877
31+
expect(subject).to be_a(Array)
32+
expect(subject.size).to eq 5
4533
end
4634
end
4735
end

spec/support/shared_contexts/statistics.rb

Lines changed: 38 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,22 @@
44
f.response :json, :content_type => /\bjson$/
55
f.adapter :test, Faraday::Adapter::Test::Stubs.new do |stub|
66
# connpass
7-
stub.get('/event/') do |env|
8-
if env.params["series_id"] == '9876,9877'
9-
multiple_series_ids_response
10-
else
11-
connpass_response
12-
end
7+
stub.get('/events/') do |env|
8+
puts "[DEBUG] Request path: #{env.url.path}"
9+
puts "[DEBUG] Request params: #{env.params.inspect}"
10+
group_id = env.params["group_id"]
11+
group_id = group_id.join(',') if group_id.is_a?(Array)
12+
group_id = group_id.to_s if group_id.is_a?(Integer)
13+
puts "[DEBUG] group_id: #{group_id.inspect}"
14+
response_json =
15+
if group_id == '9876,9877'
16+
multiple_series_ids_response[2]
17+
elsif group_id == '9876'
18+
connpass_response[2]
19+
else
20+
connpass_response[2]
21+
end
22+
ConnpassApiV2::Response.new(JSON.parse(response_json))
1323
end
1424

1525
# doorkeeper
@@ -21,6 +31,15 @@
2131

2232
before do
2333
allow_any_instance_of(EventService::Client).to receive(:connection_for).and_return(stub_connection)
34+
allow_any_instance_of(ConnpassApiV2::Client).to receive(:get_events) do |instance, **args|
35+
if args[:group_id] == '9876,9877'
36+
ConnpassApiV2::Response.new(JSON.parse(multiple_series_ids_response[2]))
37+
elsif args[:group_id] == '9876'
38+
ConnpassApiV2::Response.new(JSON.parse(connpass_response[2]))
39+
else
40+
ConnpassApiV2::Response.new(JSON.parse(connpass_response[2]))
41+
end
42+
end
2443
end
2544
end
2645

@@ -32,7 +51,13 @@
3251
[
3352
200,
3453
{ 'Content-Type' => 'application/json' },
35-
'{"results_returned": 2, "events": [{"event_url": "https://coderdojo-okutama.connpass.com/event/12345/", "event_type": "participation", "owner_nickname": "nalabjp", "series": {"url": "https://coderdojo-okutama.connpass.com/", "id": 9876, "title": "CoderDojo series"}, "updated_at": "2017-04-29T14:59:30+09:00", "lat": "35.801763000000", "started_at": "2017-05-07T10:00:00+09:00", "hash_tag": "CoderDojo", "title": "CoderDojo title", "event_id": 12345, "lon": "139.087656000000", "waiting": 2, "limit": 10, "owner_id": 2525, "owner_display_name": "nalabjp", "description": "CoderDojo description", "address": "Okutama-cho Tokyo", "catch": "CoderDojo catch", "accepted": 10, "ended_at": "2017-05-07T12:00:00+09:00", "place": "Tokyo"},{"event_url": "https://coderdojo-okutama.connpass.com/event/12346/", "event_type": "participation", "owner_nickname": "nalabjp", "series": {"url": "https://coderdojo-okutama2.connpass.com/", "id": 9877, "title": "CoderDojo series"}, "updated_at": "2017-04-29T14:59:30+09:00", "lat": "35.801763000000", "started_at": "2017-05-07T10:00:00+09:00", "hash_tag": "CoderDojo", "title": "CoderDojo title", "event_id": 12346, "lon": "139.087656000000", "waiting": 2, "limit": 10, "owner_id": 2525, "owner_display_name": "nalabjp", "description": "CoderDojo description", "address": "Okutama-cho Tokyo", "catch": "CoderDojo catch", "accepted": 10, "ended_at": "2017-05-07T12:00:00+09:00", "place": "Tokyo"}], "results_start": 200, "results_available": 518}'
54+
'{"results_returned": 5, "events": [
55+
{"event_url": "https://coderdojo-okutama.connpass.com/event/12345/", "event_type": "participation", "owner_nickname": "nalabjp", "series": {"url": "https://coderdojo-okutama.connpass.com/", "id": 9876, "title": "CoderDojo series"}, "updated_at": "2017-04-29T14:59:30+09:00", "lat": "35.801763000000", "started_at": "2017-05-07T10:00:00+09:00", "hash_tag": "CoderDojo", "title": "CoderDojo title", "event_id": 12345, "lon": "139.087656000000", "waiting": 2, "limit": 10, "owner_id": 2525, "owner_display_name": "nalabjp", "description": "CoderDojo description", "address": "Okutama-cho Tokyo", "catch": "CoderDojo catch", "accepted": 10, "ended_at": "2017-05-07T12:00:00+09:00", "place": "Tokyo"},
56+
{"event_url": "https://coderdojo-okutama.connpass.com/event/12346/", "event_type": "participation", "owner_nickname": "nalabjp", "series": {"url": "https://coderdojo-okutama2.connpass.com/", "id": 9877, "title": "CoderDojo series"}, "updated_at": "2017-04-29T14:59:30+09:00", "lat": "35.801763000000", "started_at": "2017-05-07T10:00:00+09:00", "hash_tag": "CoderDojo", "title": "CoderDojo title", "event_id": 12346, "lon": "139.087656000000", "waiting": 2, "limit": 10, "owner_id": 2525, "owner_display_name": "nalabjp", "description": "CoderDojo description", "address": "Okutama-cho Tokyo", "catch": "CoderDojo catch", "accepted": 10, "ended_at": "2017-05-07T12:00:00+09:00", "place": "Tokyo"},
57+
{"event_url": "https://coderdojo-okutama.connpass.com/event/12347/", "event_type": "participation", "owner_nickname": "nalabjp", "series": {"url": "https://coderdojo-okutama2.connpass.com/", "id": 9877, "title": "CoderDojo series"}, "updated_at": "2017-04-29T14:59:30+09:00", "lat": "35.801763000000", "started_at": "2017-05-07T10:00:00+09:00", "hash_tag": "CoderDojo", "title": "CoderDojo title", "event_id": 12347, "lon": "139.087656000000", "waiting": 2, "limit": 10, "owner_id": 2525, "owner_display_name": "nalabjp", "description": "CoderDojo description", "address": "Okutama-cho Tokyo", "catch": "CoderDojo catch", "accepted": 10, "ended_at": "2017-05-07T12:00:00+09:00", "place": "Tokyo"},
58+
{"event_url": "https://coderdojo-okutama.connpass.com/event/12348/", "event_type": "participation", "owner_nickname": "nalabjp", "series": {"url": "https://coderdojo-okutama2.connpass.com/", "id": 9877, "title": "CoderDojo series"}, "updated_at": "2017-04-29T14:59:30+09:00", "lat": "35.801763000000", "started_at": "2017-05-07T10:00:00+09:00", "hash_tag": "CoderDojo", "title": "CoderDojo title", "event_id": 12348, "lon": "139.087656000000", "waiting": 2, "limit": 10, "owner_id": 2525, "owner_display_name": "nalabjp", "description": "CoderDojo description", "address": "Okutama-cho Tokyo", "catch": "CoderDojo catch", "accepted": 10, "ended_at": "2017-05-07T12:00:00+09:00", "place": "Tokyo"},
59+
{"event_url": "https://coderdojo-okutama.connpass.com/event/12349/", "event_type": "participation", "owner_nickname": "nalabjp", "series": {"url": "https://coderdojo-okutama2.connpass.com/", "id": 9877, "title": "CoderDojo series"}, "updated_at": "2017-04-29T14:59:30+09:00", "lat": "35.801763000000", "started_at": "2017-05-07T10:00:00+09:00", "hash_tag": "CoderDojo", "title": "CoderDojo title", "event_id": 12349, "lon": "139.087656000000", "waiting": 2, "limit": 10, "owner_id": 2525, "owner_display_name": "nalabjp", "description": "CoderDojo description", "address": "Okutama-cho Tokyo", "catch": "CoderDojo catch", "accepted": 10, "ended_at": "2017-05-07T12:00:00+09:00", "place": "Tokyo"}
60+
], "results_start": 200, "results_available": 518}'
3661
]
3762
end
3863

@@ -41,7 +66,12 @@
4166
[
4267
200,
4368
{ 'Content-Type' => 'application/json' },
44-
'{"results_returned": 1, "events": [{"event_url": "https://coderdojo-okutama.connpass.com/event/12345/", "event_type": "participation", "owner_nickname": "nalabjp", "series": {"url": "https://coderdojo-okutama.connpass.com/", "id": 9876, "title": "CoderDojo series"}, "updated_at": "2017-04-29T14:59:30+09:00", "lat": "35.801763000000", "started_at": "2017-05-07T10:00:00+09:00", "hash_tag": "CoderDojo", "title": "CoderDojo title", "event_id": 12345, "lon": "139.087656000000", "waiting": 2, "limit": 10, "owner_id": 2525, "owner_display_name": "nalabjp", "description": "CoderDojo description", "address": "Okutama-cho Tokyo", "catch": "CoderDojo catch", "accepted": 10, "ended_at": "2017-05-07T12:00:00+09:00", "place": "Tokyo"}], "results_start": 200, "results_available": 518}'
69+
'{"results_returned": 100, "events": [
70+
{"event_url": "https://coderdojo-okutama.connpass.com/event/12345/", "event_type": "participation", "owner_nickname": "nalabjp", "series": {"url": "https://coderdojo-okutama.connpass.com/", "id": 9876, "title": "CoderDojo series"}, "updated_at": "2017-04-29T14:59:30+09:00", "lat": "35.801763000000", "started_at": "2017-05-07T10:00:00+09:00", "hash_tag": "CoderDojo", "title": "CoderDojo title", "event_id": 12345, "lon": "139.087656000000", "waiting": 2, "limit": 10, "owner_id": 2525, "owner_display_name": "nalabjp", "description": "CoderDojo description", "address": "Okutama-cho Tokyo", "catch": "CoderDojo catch", "accepted": 10, "ended_at": "2017-05-07T12:00:00+09:00", "place": "Tokyo"},
71+
{"event_url": "https://coderdojo-okutama.connpass.com/event/12346/", "event_type": "participation", "owner_nickname": "nalabjp", "series": {"url": "https://coderdojo-okutama2.connpass.com/", "id": 9877, "title": "CoderDojo series"}, "updated_at": "2017-04-29T14:59:30+09:00", "lat": "35.801763000000", "started_at": "2017-05-07T10:00:00+09:00", "hash_tag": "CoderDojo", "title": "CoderDojo title", "event_id": 12346, "lon": "139.087656000000", "waiting": 2, "limit": 10, "owner_id": 2525, "owner_display_name": "nalabjp", "description": "CoderDojo description", "address": "Okutama-cho Tokyo", "catch": "CoderDojo catch", "accepted": 10, "ended_at": "2017-05-07T12:00:00+09:00", "place": "Tokyo"},
72+
{"event_url": "https://coderdojo-okutama.connpass.com/event/12347/", "event_type": "participation", "owner_nickname": "nalabjp", "series": {"url": "https://coderdojo-okutama2.connpass.com/", "id": 9877, "title": "CoderDojo series"}, "updated_at": "2017-04-29T14:59:30+09:00", "lat": "35.801763000000", "started_at": "2017-05-07T10:00:00+09:00", "hash_tag": "CoderDojo", "title": "CoderDojo title", "event_id": 12347, "lon": "139.087656000000", "waiting": 2, "limit": 10, "owner_id": 2525, "owner_display_name": "nalabjp", "description": "CoderDojo description", "address": "Okutama-cho Tokyo", "catch": "CoderDojo catch", "accepted": 10, "ended_at": "2017-05-07T12:00:00+09:00", "place": "Tokyo"},
73+
{"event_url": "https://coderdojo-okutama.connpass.com/event/12348/", "event_type": "participation", "owner_nickname": "nalabjp", "series": {"url": "https://coderdojo-okutama2.connpass.com/", "id": 9877, "title": "CoderDojo series"}, "updated_at": "2017-04-29T14:59:30+09:00", "lat": "35.801763000000", "started_at": "2017-05-07T10:00:00+09:00", "hash_tag": "CoderDojo", "title": "CoderDojo title", "event_id": 12348, "lon": "139.087656000000", "waiting": 2, "limit": 10, "owner_id": 2525, "owner_display_name": "nalabjp", "description": "CoderDojo description", "address": "Okutama-cho Tokyo", "catch": "CoderDojo catch", "accepted": 10, "ended_at": "2017-05-07T12:00:00+09:00", "place": "Tokyo"}
74+
], "results_start": 200, "results_available": 518}'
4575
]
4676
end
4777
end

0 commit comments

Comments
 (0)