scorm_engine 0.6.10 → 0.7.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/scorm_engine/api/endpoints/courses/import.rb +5 -0
- data/lib/scorm_engine/api/endpoints/dispatches.rb +28 -19
- data/lib/scorm_engine/version.rb +1 -1
- data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Dispatches/_delete_dispatch/returns_success_even_when_id_is_invalid.yml +3 -3
- data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Dispatches/_delete_dispatch/works.yml +3 -3
- data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Dispatches/_get_dispatch/fails_when_id_is_invalid.yml +3 -3
- data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Dispatches/_get_dispatch/is_successful.yml +6 -6
- data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Dispatches/_get_dispatch/results/sucessfully_creates_the_dispatch_attributes.yml +6 -6
- data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Dispatches/_get_dispatch_enabled/is_false_when_disabled.yml +8 -8
- data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Dispatches/_get_dispatch_enabled/is_true_when_enabled.yml +8 -8
- data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Dispatches/_get_dispatch_zip/fails_given_an_invalid_id.yml +3 -3
- data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Dispatches/_get_dispatch_zip/fails_given_an_invalid_type.yml +4 -4
- data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Dispatches/_get_dispatch_zip/works.yml +7 -7
- data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Dispatches/_get_dispatch_zip/works_when_type_is_AICC.yml +7 -7
- data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Dispatches/_get_dispatch_zip/works_when_type_is_SCORM12.yml +7 -7
- data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Dispatches/_get_dispatch_zip/works_when_type_is_SCORM2004-3RD.yml +8 -8
- data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Dispatches/_get_dispatches/_more_option_pagination_/returns_all_the_dispatches.yml +11 -11
- data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Dispatches/_get_dispatches/_more_option_pagination_/returns_the_more_key_in_the_raw_response.yml +5 -5
- data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Dispatches/_get_dispatches/_since_option/fails_when_passed_an_invalid_value.yml +3 -3
- data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Dispatches/_get_dispatches/_since_option/works.yml +5 -5
- data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Dispatches/_get_dispatches/is_successful.yml +5 -5
- data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Dispatches/_get_dispatches/results/is_an_enumerator_of_dispatch_models.yml +5 -5
- data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Dispatches/_get_dispatches/results/sucessfully_creates_the_dispatch_attributes.yml +11 -11
- data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Dispatches/_post_dispatch/is_successful.yml +8 -8
- data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Dispatches/_post_dispatch/{is_updates_if_same_dispatch_id.yml → updates_if_same_dispatch_id.yml} +16 -16
- data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Dispatches/_put_dispatch/is_successful.yml +4 -4
- data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Dispatches/_put_dispatch/results/sucessfully_creates_the_dispatch_attributes.yml +10 -10
- data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Dispatches/_put_dispatch_enabled/fails_when_invalid.yml +5 -5
- data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Dispatches/_put_dispatch_enabled/works_when_false.yml +4 -4
- data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Dispatches/_put_dispatch_enabled/works_when_true.yml +4 -4
- data/spec/scorm_engine/api/endpoints/dispatches_spec.rb +25 -5
- data/spec/support/scorm_engine.rb +5 -1
- metadata +3 -3
data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Dispatches/_post_dispatch/is_successful.yml
CHANGED
@@ -2,13 +2,13 @@
|
|
2
2
|
http_interactions:
|
3
3
|
- request:
|
4
4
|
method: delete
|
5
|
-
uri: https://<SCORM_ENGINE_HOST>/ScormEngineInterface/api/v1/ScormEngineGemTesting-default/dispatches/testing-dispatch-id
|
5
|
+
uri: https://<SCORM_ENGINE_HOST>/ScormEngineInterface/api/v1/ScormEngineGemTesting-default/dispatches/testing-dispatch-id-2
|
6
6
|
body:
|
7
7
|
encoding: US-ASCII
|
8
8
|
string: ''
|
9
9
|
headers:
|
10
10
|
User-Agent:
|
11
|
-
- ScormEngine Ruby Gem 0.
|
11
|
+
- ScormEngine Ruby Gem 0.6.10
|
12
12
|
Authorization:
|
13
13
|
- Basic <BASIC_AUTH>
|
14
14
|
response:
|
@@ -17,7 +17,7 @@ http_interactions:
|
|
17
17
|
message: ''
|
18
18
|
headers:
|
19
19
|
date:
|
20
|
-
-
|
20
|
+
- Thu, 04 Oct 2018 21:23:10 GMT
|
21
21
|
server:
|
22
22
|
- nginx
|
23
23
|
connection:
|
@@ -26,16 +26,16 @@ http_interactions:
|
|
26
26
|
encoding: UTF-8
|
27
27
|
string: ''
|
28
28
|
http_version:
|
29
|
-
recorded_at:
|
29
|
+
recorded_at: Thu, 04 Oct 2018 21:23:11 GMT
|
30
30
|
- request:
|
31
31
|
method: post
|
32
32
|
uri: https://<SCORM_ENGINE_HOST>/ScormEngineInterface/api/v1/ScormEngineGemTesting-default/dispatches
|
33
33
|
body:
|
34
34
|
encoding: UTF-8
|
35
|
-
string: '{"dispatches":[{"id":"testing-dispatch-id","data":{"destinationId":"testing-golf-club","courseId":"testing-golf-explained","allowNewRegistrations":false,"instanced":false,"registrationCap":
|
35
|
+
string: '{"dispatches":[{"id":"testing-dispatch-id-2","data":{"destinationId":"testing-golf-club","courseId":"testing-golf-explained","allowNewRegistrations":false,"instanced":false,"registrationCap":123,"expirationDate":"2018-01-01","externalConfig":null}}]}'
|
36
36
|
headers:
|
37
37
|
User-Agent:
|
38
|
-
- ScormEngine Ruby Gem 0.
|
38
|
+
- ScormEngine Ruby Gem 0.6.10
|
39
39
|
Authorization:
|
40
40
|
- Basic <BASIC_AUTH>
|
41
41
|
Content-Type:
|
@@ -46,7 +46,7 @@ http_interactions:
|
|
46
46
|
message: ''
|
47
47
|
headers:
|
48
48
|
date:
|
49
|
-
-
|
49
|
+
- Thu, 04 Oct 2018 21:23:11 GMT
|
50
50
|
server:
|
51
51
|
- nginx
|
52
52
|
connection:
|
@@ -55,5 +55,5 @@ http_interactions:
|
|
55
55
|
encoding: UTF-8
|
56
56
|
string: ''
|
57
57
|
http_version:
|
58
|
-
recorded_at:
|
58
|
+
recorded_at: Thu, 04 Oct 2018 21:23:11 GMT
|
59
59
|
recorded_with: VCR 4.0.0
|
@@ -2,13 +2,13 @@
|
|
2
2
|
http_interactions:
|
3
3
|
- request:
|
4
4
|
method: get
|
5
|
-
uri: https://<SCORM_ENGINE_HOST>/ScormEngineInterface/api/v1/ScormEngineGemTesting-default/dispatches/testing-dispatch-id
|
5
|
+
uri: https://<SCORM_ENGINE_HOST>/ScormEngineInterface/api/v1/ScormEngineGemTesting-default/dispatches/testing-dispatch-id-2
|
6
6
|
body:
|
7
7
|
encoding: US-ASCII
|
8
8
|
string: ''
|
9
9
|
headers:
|
10
10
|
User-Agent:
|
11
|
-
- ScormEngine Ruby Gem 0.6.
|
11
|
+
- ScormEngine Ruby Gem 0.6.10
|
12
12
|
Authorization:
|
13
13
|
- Basic <BASIC_AUTH>
|
14
14
|
response:
|
@@ -19,29 +19,29 @@ http_interactions:
|
|
19
19
|
content-type:
|
20
20
|
- application/json
|
21
21
|
date:
|
22
|
-
-
|
22
|
+
- Thu, 04 Oct 2018 21:23:08 GMT
|
23
23
|
server:
|
24
24
|
- nginx
|
25
25
|
vary:
|
26
26
|
- Accept-Encoding
|
27
27
|
content-length:
|
28
|
-
- '
|
28
|
+
- '199'
|
29
29
|
connection:
|
30
30
|
- Close
|
31
31
|
body:
|
32
32
|
encoding: ASCII-8BIT
|
33
|
-
string: '{"destinationId":"testing-golf-club","courseId":"testing-golf-explained","allowNewRegistrations":false,"instanced":false,"registrationCap":
|
33
|
+
string: '{"destinationId":"testing-golf-club","courseId":"testing-golf-explained","allowNewRegistrations":false,"instanced":false,"registrationCap":123,"expirationDate":"2018-01-01T00:00:00Z","externalConfig":"scormenginegemtesting-default","enabled":true,"registrationCount":0,"registrationResetDate":"none"}'
|
34
34
|
http_version:
|
35
|
-
recorded_at:
|
35
|
+
recorded_at: Thu, 04 Oct 2018 21:23:08 GMT
|
36
36
|
- request:
|
37
37
|
method: post
|
38
38
|
uri: https://<SCORM_ENGINE_HOST>/ScormEngineInterface/api/v1/ScormEngineGemTesting-default/dispatches
|
39
39
|
body:
|
40
40
|
encoding: UTF-8
|
41
|
-
string: '{"dispatches":[{"id":"testing-dispatch-id","data":{"destinationId":"testing-golf-club","courseId":"testing-golf-explained","allowNewRegistrations":false,"instanced":false,"registrationCap":
|
41
|
+
string: '{"dispatches":[{"id":"testing-dispatch-id-2","data":{"destinationId":"testing-golf-club","courseId":"testing-golf-explained","allowNewRegistrations":false,"instanced":false,"registrationCap":123,"expirationDate":"2030-01-01","externalConfig":null}}]}'
|
42
42
|
headers:
|
43
43
|
User-Agent:
|
44
|
-
- ScormEngine Ruby Gem 0.6.
|
44
|
+
- ScormEngine Ruby Gem 0.6.10
|
45
45
|
Authorization:
|
46
46
|
- Basic <BASIC_AUTH>
|
47
47
|
Content-Type:
|
@@ -52,7 +52,7 @@ http_interactions:
|
|
52
52
|
message: ''
|
53
53
|
headers:
|
54
54
|
date:
|
55
|
-
-
|
55
|
+
- Thu, 04 Oct 2018 21:23:08 GMT
|
56
56
|
server:
|
57
57
|
- nginx
|
58
58
|
connection:
|
@@ -61,16 +61,16 @@ http_interactions:
|
|
61
61
|
encoding: UTF-8
|
62
62
|
string: ''
|
63
63
|
http_version:
|
64
|
-
recorded_at:
|
64
|
+
recorded_at: Thu, 04 Oct 2018 21:23:08 GMT
|
65
65
|
- request:
|
66
66
|
method: get
|
67
|
-
uri: https://<SCORM_ENGINE_HOST>/ScormEngineInterface/api/v1/ScormEngineGemTesting-default/dispatches/testing-dispatch-id
|
67
|
+
uri: https://<SCORM_ENGINE_HOST>/ScormEngineInterface/api/v1/ScormEngineGemTesting-default/dispatches/testing-dispatch-id-2
|
68
68
|
body:
|
69
69
|
encoding: US-ASCII
|
70
70
|
string: ''
|
71
71
|
headers:
|
72
72
|
User-Agent:
|
73
|
-
- ScormEngine Ruby Gem 0.6.
|
73
|
+
- ScormEngine Ruby Gem 0.6.10
|
74
74
|
Authorization:
|
75
75
|
- Basic <BASIC_AUTH>
|
76
76
|
response:
|
@@ -81,18 +81,18 @@ http_interactions:
|
|
81
81
|
content-type:
|
82
82
|
- application/json
|
83
83
|
date:
|
84
|
-
-
|
84
|
+
- Thu, 04 Oct 2018 21:23:08 GMT
|
85
85
|
server:
|
86
86
|
- nginx
|
87
87
|
vary:
|
88
88
|
- Accept-Encoding
|
89
89
|
content-length:
|
90
|
-
- '
|
90
|
+
- '198'
|
91
91
|
connection:
|
92
92
|
- Close
|
93
93
|
body:
|
94
94
|
encoding: ASCII-8BIT
|
95
|
-
string: '{"destinationId":"testing-golf-club","courseId":"testing-golf-explained","allowNewRegistrations":false,"instanced":false,"registrationCap":
|
95
|
+
string: '{"destinationId":"testing-golf-club","courseId":"testing-golf-explained","allowNewRegistrations":false,"instanced":false,"registrationCap":123,"expirationDate":"2030-01-01T00:00:00Z","externalConfig":"scormenginegemtesting-default","enabled":true,"registrationCount":0,"registrationResetDate":"none"}'
|
96
96
|
http_version:
|
97
|
-
recorded_at:
|
97
|
+
recorded_at: Thu, 04 Oct 2018 21:23:09 GMT
|
98
98
|
recorded_with: VCR 4.0.0
|
@@ -2,13 +2,13 @@
|
|
2
2
|
http_interactions:
|
3
3
|
- request:
|
4
4
|
method: put
|
5
|
-
uri: https://<SCORM_ENGINE_HOST>/ScormEngineInterface/api/v1/ScormEngineGemTesting-default/dispatches/testing-dispatch-id
|
5
|
+
uri: https://<SCORM_ENGINE_HOST>/ScormEngineInterface/api/v1/ScormEngineGemTesting-default/dispatches/testing-dispatch-id-2
|
6
6
|
body:
|
7
7
|
encoding: UTF-8
|
8
8
|
string: '{"destinationId":"testing-golf-club","courseId":"testing-golf-explained","allowNewRegistrations":false,"instanced":false,"registrationCap":123,"expirationDate":"2018-01-01","externalConfig":null}'
|
9
9
|
headers:
|
10
10
|
User-Agent:
|
11
|
-
- ScormEngine Ruby Gem 0.
|
11
|
+
- ScormEngine Ruby Gem 0.6.10
|
12
12
|
Authorization:
|
13
13
|
- Basic <BASIC_AUTH>
|
14
14
|
Content-Type:
|
@@ -19,7 +19,7 @@ http_interactions:
|
|
19
19
|
message: ''
|
20
20
|
headers:
|
21
21
|
date:
|
22
|
-
-
|
22
|
+
- Thu, 04 Oct 2018 21:21:44 GMT
|
23
23
|
server:
|
24
24
|
- nginx
|
25
25
|
connection:
|
@@ -28,5 +28,5 @@ http_interactions:
|
|
28
28
|
encoding: UTF-8
|
29
29
|
string: ''
|
30
30
|
http_version:
|
31
|
-
recorded_at:
|
31
|
+
recorded_at: Thu, 04 Oct 2018 21:21:44 GMT
|
32
32
|
recorded_with: VCR 4.0.0
|
@@ -2,13 +2,13 @@
|
|
2
2
|
http_interactions:
|
3
3
|
- request:
|
4
4
|
method: put
|
5
|
-
uri: https://<SCORM_ENGINE_HOST>/ScormEngineInterface/api/v1/ScormEngineGemTesting-default/dispatches/testing-dispatch-id
|
5
|
+
uri: https://<SCORM_ENGINE_HOST>/ScormEngineInterface/api/v1/ScormEngineGemTesting-default/dispatches/testing-dispatch-id-2
|
6
6
|
body:
|
7
7
|
encoding: UTF-8
|
8
8
|
string: '{"destinationId":"testing-golf-club","courseId":"testing-golf-explained","allowNewRegistrations":false,"instanced":false,"registrationCap":123,"expirationDate":"2018-01-01","externalConfig":null}'
|
9
9
|
headers:
|
10
10
|
User-Agent:
|
11
|
-
- ScormEngine Ruby Gem 0.
|
11
|
+
- ScormEngine Ruby Gem 0.6.10
|
12
12
|
Authorization:
|
13
13
|
- Basic <BASIC_AUTH>
|
14
14
|
Content-Type:
|
@@ -19,7 +19,7 @@ http_interactions:
|
|
19
19
|
message: ''
|
20
20
|
headers:
|
21
21
|
date:
|
22
|
-
-
|
22
|
+
- Thu, 04 Oct 2018 21:21:56 GMT
|
23
23
|
server:
|
24
24
|
- nginx
|
25
25
|
connection:
|
@@ -28,16 +28,16 @@ http_interactions:
|
|
28
28
|
encoding: UTF-8
|
29
29
|
string: ''
|
30
30
|
http_version:
|
31
|
-
recorded_at:
|
31
|
+
recorded_at: Thu, 04 Oct 2018 21:21:56 GMT
|
32
32
|
- request:
|
33
33
|
method: get
|
34
|
-
uri: https://<SCORM_ENGINE_HOST>/ScormEngineInterface/api/v1/ScormEngineGemTesting-default/dispatches/testing-dispatch-id
|
34
|
+
uri: https://<SCORM_ENGINE_HOST>/ScormEngineInterface/api/v1/ScormEngineGemTesting-default/dispatches/testing-dispatch-id-2
|
35
35
|
body:
|
36
36
|
encoding: US-ASCII
|
37
37
|
string: ''
|
38
38
|
headers:
|
39
39
|
User-Agent:
|
40
|
-
- ScormEngine Ruby Gem 0.
|
40
|
+
- ScormEngine Ruby Gem 0.6.10
|
41
41
|
Authorization:
|
42
42
|
- Basic <BASIC_AUTH>
|
43
43
|
response:
|
@@ -48,18 +48,18 @@ http_interactions:
|
|
48
48
|
content-type:
|
49
49
|
- application/json
|
50
50
|
date:
|
51
|
-
-
|
51
|
+
- Thu, 04 Oct 2018 21:21:56 GMT
|
52
52
|
server:
|
53
53
|
- nginx
|
54
54
|
vary:
|
55
55
|
- Accept-Encoding
|
56
56
|
content-length:
|
57
|
-
- '
|
57
|
+
- '196'
|
58
58
|
connection:
|
59
59
|
- Close
|
60
60
|
body:
|
61
61
|
encoding: ASCII-8BIT
|
62
|
-
string: '{"destinationId":"testing-golf-club","courseId":"testing-golf-explained","allowNewRegistrations":false,"instanced":false,"registrationCap":123,"expirationDate":"2018-01-01T00:00:00Z","externalConfig":"scormenginegemtesting-default","enabled":
|
62
|
+
string: '{"destinationId":"testing-golf-club","courseId":"testing-golf-explained","allowNewRegistrations":false,"instanced":false,"registrationCap":123,"expirationDate":"2018-01-01T00:00:00Z","externalConfig":"scormenginegemtesting-default","enabled":false,"registrationCount":0,"registrationResetDate":"none"}'
|
63
63
|
http_version:
|
64
|
-
recorded_at:
|
64
|
+
recorded_at: Thu, 04 Oct 2018 21:21:56 GMT
|
65
65
|
recorded_with: VCR 4.0.0
|
@@ -2,13 +2,13 @@
|
|
2
2
|
http_interactions:
|
3
3
|
- request:
|
4
4
|
method: put
|
5
|
-
uri: https://<SCORM_ENGINE_HOST>/ScormEngineInterface/api/v1/ScormEngineGemTesting-default/dispatches/testing-dispatch-id/enabled
|
5
|
+
uri: https://<SCORM_ENGINE_HOST>/ScormEngineInterface/api/v1/ScormEngineGemTesting-default/dispatches/testing-dispatch-id-2/enabled
|
6
6
|
body:
|
7
7
|
encoding: UTF-8
|
8
8
|
string: oops
|
9
9
|
headers:
|
10
10
|
User-Agent:
|
11
|
-
- ScormEngine Ruby Gem 0.
|
11
|
+
- ScormEngine Ruby Gem 0.6.10
|
12
12
|
Authorization:
|
13
13
|
- Basic <BASIC_AUTH>
|
14
14
|
Content-Type:
|
@@ -21,7 +21,7 @@ http_interactions:
|
|
21
21
|
content-type:
|
22
22
|
- text/plain
|
23
23
|
date:
|
24
|
-
-
|
24
|
+
- Thu, 04 Oct 2018 21:22:30 GMT
|
25
25
|
server:
|
26
26
|
- nginx
|
27
27
|
content-length:
|
@@ -32,7 +32,7 @@ http_interactions:
|
|
32
32
|
encoding: UTF-8
|
33
33
|
string: |-
|
34
34
|
Unrecognized token 'oops': was expecting ('true', 'false' or 'null')
|
35
|
-
at [Source: org.glassfish.jersey.message.internal.ReaderInterceptorExecutor$UnCloseableInputStream@
|
35
|
+
at [Source: org.glassfish.jersey.message.internal.ReaderInterceptorExecutor$UnCloseableInputStream@57adebb3; line: 1, column: 9]
|
36
36
|
http_version:
|
37
|
-
recorded_at:
|
37
|
+
recorded_at: Thu, 04 Oct 2018 21:22:30 GMT
|
38
38
|
recorded_with: VCR 4.0.0
|
@@ -2,13 +2,13 @@
|
|
2
2
|
http_interactions:
|
3
3
|
- request:
|
4
4
|
method: put
|
5
|
-
uri: https://<SCORM_ENGINE_HOST>/ScormEngineInterface/api/v1/ScormEngineGemTesting-default/dispatches/testing-dispatch-id/enabled
|
5
|
+
uri: https://<SCORM_ENGINE_HOST>/ScormEngineInterface/api/v1/ScormEngineGemTesting-default/dispatches/testing-dispatch-id-2/enabled
|
6
6
|
body:
|
7
7
|
encoding: US-ASCII
|
8
8
|
string: 'false'
|
9
9
|
headers:
|
10
10
|
User-Agent:
|
11
|
-
- ScormEngine Ruby Gem 0.
|
11
|
+
- ScormEngine Ruby Gem 0.6.10
|
12
12
|
Authorization:
|
13
13
|
- Basic <BASIC_AUTH>
|
14
14
|
Content-Type:
|
@@ -19,7 +19,7 @@ http_interactions:
|
|
19
19
|
message: ''
|
20
20
|
headers:
|
21
21
|
date:
|
22
|
-
-
|
22
|
+
- Thu, 04 Oct 2018 21:22:32 GMT
|
23
23
|
server:
|
24
24
|
- nginx
|
25
25
|
connection:
|
@@ -28,5 +28,5 @@ http_interactions:
|
|
28
28
|
encoding: UTF-8
|
29
29
|
string: ''
|
30
30
|
http_version:
|
31
|
-
recorded_at:
|
31
|
+
recorded_at: Thu, 04 Oct 2018 21:22:32 GMT
|
32
32
|
recorded_with: VCR 4.0.0
|
@@ -2,13 +2,13 @@
|
|
2
2
|
http_interactions:
|
3
3
|
- request:
|
4
4
|
method: put
|
5
|
-
uri: https://<SCORM_ENGINE_HOST>/ScormEngineInterface/api/v1/ScormEngineGemTesting-default/dispatches/testing-dispatch-id/enabled
|
5
|
+
uri: https://<SCORM_ENGINE_HOST>/ScormEngineInterface/api/v1/ScormEngineGemTesting-default/dispatches/testing-dispatch-id-2/enabled
|
6
6
|
body:
|
7
7
|
encoding: US-ASCII
|
8
8
|
string: 'true'
|
9
9
|
headers:
|
10
10
|
User-Agent:
|
11
|
-
- ScormEngine Ruby Gem 0.
|
11
|
+
- ScormEngine Ruby Gem 0.6.10
|
12
12
|
Authorization:
|
13
13
|
- Basic <BASIC_AUTH>
|
14
14
|
Content-Type:
|
@@ -19,7 +19,7 @@ http_interactions:
|
|
19
19
|
message: ''
|
20
20
|
headers:
|
21
21
|
date:
|
22
|
-
-
|
22
|
+
- Thu, 04 Oct 2018 21:22:34 GMT
|
23
23
|
server:
|
24
24
|
- nginx
|
25
25
|
connection:
|
@@ -28,5 +28,5 @@ http_interactions:
|
|
28
28
|
encoding: UTF-8
|
29
29
|
string: ''
|
30
30
|
http_version:
|
31
|
-
recorded_at:
|
31
|
+
recorded_at: Thu, 04 Oct 2018 21:22:34 GMT
|
32
32
|
recorded_with: VCR 4.0.0
|
@@ -15,7 +15,11 @@ RSpec.describe ScormEngine::Api::Endpoints::Dispatches do
|
|
15
15
|
let(:dispatch_options) { {
|
16
16
|
destination_id: destination_options[:destination_id],
|
17
17
|
course_id: course_options[:course_id],
|
18
|
-
dispatch_id: "testing-dispatch-id",
|
18
|
+
dispatch_id: "testing-dispatch-id-2",
|
19
|
+
allow_new_registrations: false,
|
20
|
+
instanced: false,
|
21
|
+
registration_cap: 123,
|
22
|
+
expiration_date: "2018-01-01",
|
19
23
|
} }
|
20
24
|
|
21
25
|
before do
|
@@ -100,9 +104,15 @@ RSpec.describe ScormEngine::Api::Endpoints::Dispatches do
|
|
100
104
|
end
|
101
105
|
end
|
102
106
|
|
103
|
-
it "
|
107
|
+
it "raises ArgumentError when :expiration_date is invalid string" do
|
108
|
+
expect {
|
109
|
+
subject.post_dispatch(dispatch_options.merge(expiration_date: "not-a-parsable-date"))
|
110
|
+
}.to raise_error(ArgumentError, /Invalid option expiration_date/)
|
111
|
+
end
|
112
|
+
|
113
|
+
it "updates if same dispatch_id" do
|
104
114
|
response = subject.get_dispatch(dispatch_id: dispatch_options[:dispatch_id])
|
105
|
-
expect(response.result.expiration_date).to eq
|
115
|
+
expect(response.result.expiration_date.to_date).to eq Date.new(2018, 1, 1)
|
106
116
|
|
107
117
|
response = subject.post_dispatch(dispatch_options.merge(expiration_date: Date.new(2030, 1, 1)))
|
108
118
|
aggregate_failures do
|
@@ -148,7 +158,17 @@ RSpec.describe ScormEngine::Api::Endpoints::Dispatches do
|
|
148
158
|
end
|
149
159
|
|
150
160
|
describe "#put_dispatch" do
|
151
|
-
let(:response) { subject.put_dispatch(dispatch_options
|
161
|
+
let(:response) { subject.put_dispatch(dispatch_options) }
|
162
|
+
|
163
|
+
%i[
|
164
|
+
dispatch_id destination_id course_id allow_new_registrations
|
165
|
+
instanced registration_cap expiration_date
|
166
|
+
].each do |arg|
|
167
|
+
it "raises ArgumentError when :#{arg} is missing" do
|
168
|
+
dispatch_options.delete(arg)
|
169
|
+
expect { subject.put_dispatch(dispatch_options) }.to raise_error(ArgumentError, /#{arg} missing/)
|
170
|
+
end
|
171
|
+
end
|
152
172
|
|
153
173
|
it "is successful" do
|
154
174
|
expect(response.success?).to eq true
|
@@ -243,7 +263,7 @@ RSpec.describe ScormEngine::Api::Endpoints::Dispatches do
|
|
243
263
|
expect(response.status).to eq 200
|
244
264
|
expect(response.result.dispatch_id).to eq dispatch_options[:dispatch_id]
|
245
265
|
expect(response.result.type).to eq "SCORM12"
|
246
|
-
expect(response.result.filename).to end_with("golf_club_dispatch_testing-dispatch-id.zip")
|
266
|
+
expect(response.result.filename).to end_with("golf_club_dispatch_testing-dispatch-id-2.zip")
|
247
267
|
|
248
268
|
zip_contents = Zip::File.open_buffer(StringIO.new(response.result.body)).each_entry.map(&:name)
|
249
269
|
expect(zip_contents).to include("blank.html", "configuration.js", "dispatch.html", "goodbye.html") # sampling
|
@@ -92,7 +92,11 @@ module ScormEngineHelpers
|
|
92
92
|
#
|
93
93
|
def ensure_dispatch_exists(options = {})
|
94
94
|
response = options[:client].get_dispatch(dispatch_id: options[:dispatch_id])
|
95
|
-
|
95
|
+
if response&.result.nil?
|
96
|
+
options[:client].post_dispatch(options)
|
97
|
+
else
|
98
|
+
options[:client].put_dispatch(options)
|
99
|
+
end
|
96
100
|
end
|
97
101
|
|
98
102
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: scorm_engine
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Philip Hallstrom
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-10-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -295,7 +295,7 @@ files:
|
|
295
295
|
- spec/fixtures/vcr/ScormEngine_Api_Endpoints_Dispatches/_get_dispatches/results/is_an_enumerator_of_dispatch_models.yml
|
296
296
|
- spec/fixtures/vcr/ScormEngine_Api_Endpoints_Dispatches/_get_dispatches/results/sucessfully_creates_the_dispatch_attributes.yml
|
297
297
|
- spec/fixtures/vcr/ScormEngine_Api_Endpoints_Dispatches/_post_dispatch/is_successful.yml
|
298
|
-
- spec/fixtures/vcr/ScormEngine_Api_Endpoints_Dispatches/_post_dispatch/
|
298
|
+
- spec/fixtures/vcr/ScormEngine_Api_Endpoints_Dispatches/_post_dispatch/updates_if_same_dispatch_id.yml
|
299
299
|
- spec/fixtures/vcr/ScormEngine_Api_Endpoints_Dispatches/_put_dispatch/is_successful.yml
|
300
300
|
- spec/fixtures/vcr/ScormEngine_Api_Endpoints_Dispatches/_put_dispatch/results/sucessfully_creates_the_dispatch_attributes.yml
|
301
301
|
- spec/fixtures/vcr/ScormEngine_Api_Endpoints_Dispatches/_put_dispatch_enabled/fails_when_invalid.yml
|