bridge_api 0.1.36 → 0.1.37
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/bridge_api/client.rb +3 -0
- data/lib/bridge_api/client/live_course_session.rb +22 -0
- data/lib/bridge_api/client/sub_account.rb +4 -0
- data/lib/bridge_api/version.rb +1 -1
- data/spec/bridge_api/client/live_course_session_spec.rb +39 -0
- data/spec/bridge_api/client/sub_account_spec.rb +6 -0
- data/spec/fixtures/live_course_sessions.json +21 -0
- data/spec/support/fake_bridge.rb +21 -0
- metadata +7 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5d378de0ed191a54a78659a84a95558d7df192e1
|
4
|
+
data.tar.gz: 6f9526f496419ec2b51bfb4430b61c13d5ea38ee
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9806534f173060d13aa71a5839f867c232844bcc71fbd6e3fa6a131384502c5510fd35a435655a4ef80202e7e357c68285795817aed2547cb641b9aed089b508
|
7
|
+
data.tar.gz: 802496cc90a7440b37dcf74093269d199f1b3fd99f21904246fddc8ba8ff38d660132d991888dd522265b1f891a7af229794a79b910f8281c6b923e371c65102
|
data/Gemfile.lock
CHANGED
data/lib/bridge_api/client.rb
CHANGED
@@ -34,6 +34,9 @@ module BridgeAPI
|
|
34
34
|
ROLE_PATH = '/roles'.freeze
|
35
35
|
AFFILIATED_SUBACCOUNTS = '/affiliated_sub_accounts'.freeze
|
36
36
|
BATCH_PATH = '/batch'.freeze
|
37
|
+
LIVE_COURSES_PATH = '/live_courses'.freeze
|
38
|
+
SESSIONS_PATH = '/sessions'.freeze
|
39
|
+
PUBLISH_PATH = '/publish'.freeze
|
37
40
|
RESULT_MAPPING = {}
|
38
41
|
|
39
42
|
Dir[File.dirname(__FILE__) + '/client/*.rb'].each do |file|
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module BridgeAPI
|
2
|
+
class Client
|
3
|
+
module LiveCourseSession
|
4
|
+
|
5
|
+
def create_live_course_session(live_course_id, params = {})
|
6
|
+
post("#{API_PATH}#{AUTHOR_PATH}#{LIVE_COURSES_PATH}/#{live_course_id}#{SESSIONS_PATH}", params)
|
7
|
+
end
|
8
|
+
|
9
|
+
def delete_live_course_session(live_course_id, session_id)
|
10
|
+
delete("#{API_PATH}#{AUTHOR_PATH}#{LIVE_COURSES_PATH}/#{live_course_id}#{SESSIONS_PATH}/#{session_id}")
|
11
|
+
end
|
12
|
+
|
13
|
+
def update_live_course_session(live_course_id, session_id, params = {})
|
14
|
+
put("#{API_PATH}#{AUTHOR_PATH}#{LIVE_COURSES_PATH}/#{live_course_id}#{SESSIONS_PATH}/#{session_id}", params)
|
15
|
+
end
|
16
|
+
|
17
|
+
def publish_live_course_session(live_course_id, session_id)
|
18
|
+
post("#{API_PATH}#{AUTHOR_PATH}#{LIVE_COURSES_PATH}/#{live_course_id}#{SESSIONS_PATH}/#{session_id}#{PUBLISH_PATH}")
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -5,6 +5,10 @@ module BridgeAPI
|
|
5
5
|
get("#{API_PATH}#{ADMIN_PATH}#{SUB_ACCOUNT_PATH}", params)
|
6
6
|
end
|
7
7
|
|
8
|
+
def get_sub_account(subaccount_id, params = {})
|
9
|
+
get("#{API_PATH}#{ADMIN_PATH}#{SUB_ACCOUNT_PATH}/#{subaccount_id}", params)
|
10
|
+
end
|
11
|
+
|
8
12
|
def deactivate_sub_account(subaccount_id, params = {})
|
9
13
|
put("#{API_PATH}#{ADMIN_PATH}#{SUB_ACCOUNT_PATH}/#{subaccount_id}/disable", params)
|
10
14
|
end
|
data/lib/bridge_api/version.rb
CHANGED
@@ -0,0 +1,39 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
describe BridgeAPI::Client::LiveCourseSession do
|
4
|
+
before do
|
5
|
+
@client = BridgeAPI::Client.new(prefix: 'http://test.bridge.com', token: 'test_token')
|
6
|
+
end
|
7
|
+
|
8
|
+
it 'should create a live course session in bridge' do
|
9
|
+
params = {
|
10
|
+
sessions: [{
|
11
|
+
start_at: '2018-08-07T15:00:00.918Z',
|
12
|
+
end_at: '2018-08-07T16:00:00.918Z',
|
13
|
+
timezone: 'America/Denver'
|
14
|
+
}]
|
15
|
+
}
|
16
|
+
response = @client.create_live_course_session(1, params)
|
17
|
+
expect(response.status).to eq(201)
|
18
|
+
end
|
19
|
+
|
20
|
+
it 'should delete a live course session in bridge' do
|
21
|
+
response = @client.delete_live_course_session(1,5)
|
22
|
+
expect(response.status).to eq(204)
|
23
|
+
end
|
24
|
+
|
25
|
+
it 'should update the existing live course session' do
|
26
|
+
params = {
|
27
|
+
sessions: [{
|
28
|
+
seats: 5
|
29
|
+
}]
|
30
|
+
}
|
31
|
+
response = @client.update_live_course_session(1, 5, params)
|
32
|
+
expect(response.status).to eq(200)
|
33
|
+
end
|
34
|
+
|
35
|
+
it 'should publish a live course session' do
|
36
|
+
response = @client.publish_live_course_session(1, 5)
|
37
|
+
expect(response.status).to eq(200)
|
38
|
+
end
|
39
|
+
end
|
@@ -13,6 +13,12 @@ describe BridgeAPI::Client::SubAccount do
|
|
13
13
|
expect(response.first['id']).to(eq('141'))
|
14
14
|
end
|
15
15
|
|
16
|
+
it 'should get a single subaccount' do
|
17
|
+
subaccounts = @client.get_sub_account(1)
|
18
|
+
expect(subaccounts.count).to(eq(1))
|
19
|
+
expect(subaccounts.first['name']).to(eq('Customers'))
|
20
|
+
end
|
21
|
+
|
16
22
|
it 'should activate a subaccount' do
|
17
23
|
response = @client.activate_sub_account(1)
|
18
24
|
expect(response.first['id']).to(eq('141'))
|
@@ -0,0 +1,21 @@
|
|
1
|
+
{
|
2
|
+
"sessions":
|
3
|
+
[{
|
4
|
+
"id":"5",
|
5
|
+
"title":null,
|
6
|
+
"start_at":"2018-08-07T15:00:00.918Z",
|
7
|
+
"end_at":"2018-08-07T16:00:00.918Z",
|
8
|
+
"location":null,
|
9
|
+
"seats":5,
|
10
|
+
"registered_count":0,
|
11
|
+
"present_count":0,
|
12
|
+
"notes":null,
|
13
|
+
"live_course_id":"1",
|
14
|
+
"concluded_at":null,
|
15
|
+
"multi_part":false,
|
16
|
+
"is_published":false,
|
17
|
+
"timezone":"America/Denver",
|
18
|
+
"enroll_url":"http://bridge.lvh.me:3000/learner/training/a918ab45/sessions/5/enroll",
|
19
|
+
"has_web_conference":false
|
20
|
+
}]
|
21
|
+
}
|
data/spec/support/fake_bridge.rb
CHANGED
@@ -168,6 +168,23 @@ class FakeBridge < Sinatra::Base
|
|
168
168
|
get_json_data 200, 'live_course_enrollments.json'
|
169
169
|
end
|
170
170
|
|
171
|
+
# Live Course Sessions
|
172
|
+
post %r{/api/author/live_courses/\d+/sessions/\d+/publish} do
|
173
|
+
get_json_data 200, 'live_course_sessions.json'
|
174
|
+
end
|
175
|
+
|
176
|
+
post %r{/api/author/live_courses/\d+/sessions} do
|
177
|
+
get_json_data 201, 'live_course_sessions.json'
|
178
|
+
end
|
179
|
+
|
180
|
+
delete %r{/api/author/live_courses/\d+/sessions/\d+} do
|
181
|
+
get_json_data 204, 'live_course_sessions.json'
|
182
|
+
end
|
183
|
+
|
184
|
+
put %r{/api/author/live_courses/\d+/sessions} do
|
185
|
+
get_json_data 200, 'live_course_sessions.json'
|
186
|
+
end
|
187
|
+
|
171
188
|
# Sub Accounts
|
172
189
|
post %r{/api/admin/sub_accounts$} do
|
173
190
|
get_json_data 200, 'sub_accounts.json'
|
@@ -177,6 +194,10 @@ class FakeBridge < Sinatra::Base
|
|
177
194
|
get_json_data 200, 'sub_accounts.json'
|
178
195
|
end
|
179
196
|
|
197
|
+
get %r{/api/admin/sub_accounts/\d+$} do
|
198
|
+
get_json_data 200, 'sub_accounts.json'
|
199
|
+
end
|
200
|
+
|
180
201
|
put %r{/api/admin/sub_accounts$} do
|
181
202
|
get_json_data 200, 'sub_accounts.json'
|
182
203
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bridge_api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.37
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jay Shaffer
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-07
|
11
|
+
date: 2018-08-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -218,6 +218,7 @@ files:
|
|
218
218
|
- lib/bridge_api/client/group.rb
|
219
219
|
- lib/bridge_api/client/live_course.rb
|
220
220
|
- lib/bridge_api/client/live_course_enrollment.rb
|
221
|
+
- lib/bridge_api/client/live_course_session.rb
|
221
222
|
- lib/bridge_api/client/manager.rb
|
222
223
|
- lib/bridge_api/client/program_enrollment.rb
|
223
224
|
- lib/bridge_api/client/role.rb
|
@@ -233,6 +234,7 @@ files:
|
|
233
234
|
- spec/bridge_api/client/enrollment_spec.rb
|
234
235
|
- spec/bridge_api/client/group_spec.rb
|
235
236
|
- spec/bridge_api/client/live_course_enrollments_spec.rb
|
237
|
+
- spec/bridge_api/client/live_course_session_spec.rb
|
236
238
|
- spec/bridge_api/client/live_course_spec.rb
|
237
239
|
- spec/bridge_api/client/manager_spec.rb
|
238
240
|
- spec/bridge_api/client/program_enrollment_spec.rb
|
@@ -253,6 +255,7 @@ files:
|
|
253
255
|
- spec/fixtures/enrollments.json
|
254
256
|
- spec/fixtures/group.json
|
255
257
|
- spec/fixtures/live_course_enrollments.json
|
258
|
+
- spec/fixtures/live_course_sessions.json
|
256
259
|
- spec/fixtures/live_courses.json
|
257
260
|
- spec/fixtures/managers.json
|
258
261
|
- spec/fixtures/program_enrollments.json
|
@@ -301,6 +304,7 @@ test_files:
|
|
301
304
|
- spec/bridge_api/client/enrollment_spec.rb
|
302
305
|
- spec/bridge_api/client/group_spec.rb
|
303
306
|
- spec/bridge_api/client/live_course_enrollments_spec.rb
|
307
|
+
- spec/bridge_api/client/live_course_session_spec.rb
|
304
308
|
- spec/bridge_api/client/live_course_spec.rb
|
305
309
|
- spec/bridge_api/client/manager_spec.rb
|
306
310
|
- spec/bridge_api/client/program_enrollment_spec.rb
|
@@ -321,6 +325,7 @@ test_files:
|
|
321
325
|
- spec/fixtures/enrollments.json
|
322
326
|
- spec/fixtures/group.json
|
323
327
|
- spec/fixtures/live_course_enrollments.json
|
328
|
+
- spec/fixtures/live_course_sessions.json
|
324
329
|
- spec/fixtures/live_courses.json
|
325
330
|
- spec/fixtures/managers.json
|
326
331
|
- spec/fixtures/program_enrollments.json
|