scorm_engine 0.8.1 → 0.8.2

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.
Files changed (166) hide show
  1. checksums.yaml +4 -4
  2. data/lib/scorm_engine/faraday/request.rb +4 -2
  3. data/lib/scorm_engine/version.rb +1 -1
  4. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_About/_get_about/is_successful.yml +24 -15
  5. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_About/_get_about/knows_the_platform.yml +24 -15
  6. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_About/_get_about/knows_the_version.yml +24 -15
  7. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_About/_get_about_user_count/accepts_before_option.yml +23 -15
  8. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_About/_get_about_user_count/accepts_since_option.yml +23 -15
  9. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_About/_get_about_user_count/is_successful.yml +23 -15
  10. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_About/_get_about_user_count/tracks_combined_counts.yml +23 -15
  11. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_About/_get_about_user_count/tracks_per_tenantcounts.yml +23 -15
  12. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Configuration/_get_app_configuration/is_successful.yml +10 -10
  13. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Configuration/_get_app_configuration/returns_settings_and_values.yml +10 -10
  14. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Configuration/_post_app_configuration/fails_when_settings_are_invalid.yml +7 -7
  15. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Configuration/_post_app_configuration/is_successful.yml +7 -7
  16. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Configuration/_post_app_configuration/persists_the_settings.yml +34 -34
  17. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Courses/_delete_course/fails_when_id_is_invalid.yml +23 -15
  18. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Courses/_delete_course/works.yml +19 -9
  19. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Courses/_get_course_detail/fails_when_id_is_invalid.yml +23 -15
  20. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Courses/_get_course_detail/is_successful.yml +24 -16
  21. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Courses/_get_course_detail/results/sucessfully_creates_the_Course_attributes.yml +24 -16
  22. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Courses/_get_course_preview/fails_when_id_is_invalid.yml +23 -15
  23. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Courses/_get_course_preview/is_successful.yml +23 -15
  24. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Courses/_get_course_preview/results/returns_a_URL_string.yml +23 -15
  25. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Courses/_get_course_preview/results/returns_a_URL_string_containing_a_signed_jwt.yml +46 -0
  26. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Courses/_get_courses/_course_id_option/fetches_a_single_course_but_perhaps_multiple_versions.yml +23 -15
  27. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Courses/_get_courses/_course_id_option/returns_404_when_ID_is_invalid.yml +23 -15
  28. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Courses/_get_courses/_more_option_pagination_/returns_all_the_courses.yml +109 -44
  29. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Courses/_get_courses/_more_option_pagination_/returns_the_more_key_in_the_raw_response.yml +32 -24
  30. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Courses/_get_courses/_since_option/fails_when_passed_an_invalid_value.yml +20 -10
  31. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Courses/_get_courses/_since_option/works.yml +39 -19
  32. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Courses/_get_courses/is_successful.yml +32 -19
  33. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Courses/_get_courses/results/is_an_enumerator_of_Course_models.yml +32 -19
  34. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Courses/_get_courses/results/sucessfully_creates_the_Course_attributes.yml +32 -19
  35. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Courses_Configuration/_get_course_configuration/fails_when_id_is_invalid.yml +23 -15
  36. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Courses_Configuration/_get_course_configuration/is_successful.yml +23 -15
  37. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Courses_Configuration/_get_course_configuration/results/makes_settings_available_as_key/value_pairs.yml +23 -15
  38. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Courses_Configuration/_get_course_configuration_setting/fails_when_course_id_is_invalid.yml +23 -15
  39. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Courses_Configuration/_get_course_configuration_setting/fails_when_setting_id_is_invalid.yml +20 -10
  40. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Courses_Configuration/_get_course_configuration_setting/is_successful.yml +41 -19
  41. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Courses_Configuration/_get_course_configuration_setting/results/returns_the_value_as_a_string.yml +41 -19
  42. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Courses_Configuration/_post_course_configuration/fails_when_id_is_invalid.yml +25 -15
  43. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Courses_Configuration/_post_course_configuration/fails_when_settings_are_invalid.yml +24 -12
  44. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Courses_Configuration/_post_course_configuration/is_successful.yml +21 -9
  45. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Courses_Configuration/_post_course_configuration/persists_the_settings.yml +88 -48
  46. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Courses_Configuration/_put_course_configuration_setting/fails_when_course_id_is_invalid.yml +25 -15
  47. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Courses_Configuration/_put_course_configuration_setting/fails_when_setting_id_is_invalid.yml +20 -10
  48. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Courses_Configuration/_put_course_configuration_setting/is_successful.yml +44 -22
  49. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Courses_Configuration/_put_course_configuration_setting/results/persists_the_changes.yml +66 -34
  50. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Courses_Import/_get_course_import/successful_imports/works.yml +102 -95
  51. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Courses_Import/_get_course_import/unsuccessful_imports/fails_to_import_given_an_invalid_url.yml +100 -278
  52. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Courses_Import/_post_course_import/unsuccessful_imports/fails_to_import_a_previously_existing_course.yml +21 -9
  53. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Destinations/_delete_destination/returns_success_even_when_id_is_invalid.yml +19 -9
  54. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Destinations/_delete_destination/works.yml +19 -9
  55. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Destinations/_get_destination/fails_when_id_is_invalid.yml +22 -14
  56. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Destinations/_get_destination/is_successful.yml +22 -14
  57. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Destinations/_get_destination/results/sucessfully_creates_the_destination_attributes.yml +22 -14
  58. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Destinations/_get_destination_dispatches_registration_count/fails_when_invalid.yml +22 -14
  59. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Destinations/_get_destination_dispatches_registration_count/works.yml +20 -10
  60. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Destinations/_get_destinations/_more_option_pagination_/returns_all_the_destinations.yml +48 -31
  61. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Destinations/_get_destinations/_more_option_pagination_/returns_the_more_key_in_the_raw_response.yml +23 -15
  62. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Destinations/_get_destinations/_since_option/fails_when_passed_an_invalid_value.yml +22 -13
  63. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Destinations/_get_destinations/_since_option/works.yml +23 -15
  64. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Destinations/_get_destinations/is_successful.yml +23 -15
  65. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Destinations/_get_destinations/results/is_an_enumerator_of_Destination_models.yml +23 -15
  66. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Destinations/_get_destinations/results/sucessfully_creates_the_Destination_attributes.yml +23 -15
  67. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Destinations/_post_destination/is_successful.yml +40 -18
  68. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Destinations/_post_destination/is_successful_even_if_the_destination_id_is_not_unique.yml +21 -9
  69. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Destinations/_post_destination_dispatches_enabled/fails_when_invalid.yml +24 -12
  70. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Destinations/_post_destination_dispatches_enabled/works_when_false.yml +21 -9
  71. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Destinations/_post_destination_dispatches_enabled/works_when_true.yml +21 -9
  72. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Destinations/_post_destination_dispatches_registration_instancing/fails_when_invalid.yml +24 -12
  73. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Destinations/_post_destination_dispatches_registration_instancing/works_when_false.yml +21 -9
  74. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Destinations/_post_destination_dispatches_registration_instancing/works_when_true.yml +21 -9
  75. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Destinations/_put_destination/is_successful.yml +21 -9
  76. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Destinations/_put_destination/results/sucessfully_creates_the_destination_attributes.yml +43 -23
  77. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Dispatches/_delete_dispatch/returns_success_even_when_id_is_invalid.yml +19 -7
  78. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Dispatches/_delete_dispatch/works.yml +19 -7
  79. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Dispatches/_delete_dispatch_registration_count/is_successful.yml +19 -7
  80. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Dispatches/_delete_dispatch_registration_count/succeeds_even_when_id_is_invalid.yml +19 -7
  81. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Dispatches/_get_dispatch/fails_when_id_is_invalid.yml +22 -12
  82. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Dispatches/_get_dispatch/is_successful.yml +23 -13
  83. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Dispatches/_get_dispatch/results/sucessfully_creates_the_dispatch_attributes.yml +23 -13
  84. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Dispatches/_get_dispatch_enabled/is_false_when_disabled.yml +39 -15
  85. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Dispatches/_get_dispatch_enabled/is_true_when_enabled.yml +39 -15
  86. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Dispatches/_get_dispatch_registration_count/fails_when_id_is_invalid.yml +41 -19
  87. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Dispatches/_get_dispatch_registration_count/is_successful.yml +42 -20
  88. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Dispatches/_get_dispatch_registration_count/results/sucessfully_creates_the_dispatch_attributes.yml +42 -20
  89. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Dispatches/_get_dispatch_zip/fails_given_an_invalid_id.yml +22 -12
  90. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Dispatches/_get_dispatch_zip/fails_given_an_invalid_type.yml +20 -8
  91. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Dispatches/_get_dispatch_zip/works.yml +24 -12
  92. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Dispatches/_get_dispatch_zip/works_when_type_is_AICC.yml +24 -12
  93. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Dispatches/_get_dispatch_zip/works_when_type_is_SCORM12.yml +24 -12
  94. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Dispatches/_get_dispatch_zip/works_when_type_is_SCORM2004-3RD.yml +24 -12
  95. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Dispatches/_get_dispatches/_more_option_pagination_/returns_all_the_dispatches.yml +47 -27
  96. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Dispatches/_get_dispatches/_more_option_pagination_/returns_the_more_key_in_the_raw_response.yml +23 -13
  97. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Dispatches/_get_dispatches/_since_option/fails_when_passed_an_invalid_value.yml +20 -8
  98. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Dispatches/_get_dispatches/_since_option/works.yml +23 -13
  99. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Dispatches/_get_dispatches/is_successful.yml +23 -13
  100. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Dispatches/_get_dispatches/results/is_an_enumerator_of_dispatch_models.yml +23 -13
  101. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Dispatches/_get_dispatches/results/sucessfully_creates_the_dispatch_attributes.yml +21 -44
  102. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Dispatches/_post_dispatch/is_successful.yml +38 -14
  103. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Dispatches/_post_dispatch/updates_if_same_dispatch_id.yml +65 -33
  104. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Dispatches/_put_dispatch/is_successful.yml +19 -7
  105. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Dispatches/_put_dispatch/results/sucessfully_creates_the_dispatch_attributes.yml +42 -20
  106. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Dispatches/_put_dispatch_enabled/fails_when_invalid.yml +22 -10
  107. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Dispatches/_put_dispatch_enabled/works_when_false.yml +19 -7
  108. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Dispatches/_put_dispatch_enabled/works_when_true.yml +19 -7
  109. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Ping/_get_ping/is_successful.yml +23 -15
  110. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Ping/_get_ping/reports_the_api_is_up.yml +23 -15
  111. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Ping/_get_ping/with_invalid_password/is_unsuccessful.yml +25 -17
  112. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Ping/_get_ping/with_invalid_password/returns_status_403.yml +25 -17
  113. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Registrations/_delete_registration/is_failure_when_registration_does_not_exist.yml +23 -13
  114. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Registrations/_delete_registration/is_successful_when_registration_exists.yml +19 -7
  115. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Registrations/_get_registration_exists/is_false_when_registration_does_not_exist.yml +23 -13
  116. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Registrations/_get_registration_exists/is_true_when_registration_exists.yml +20 -8
  117. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Registrations/_get_registration_instances/includes_results_we_expect.yml +26 -14
  118. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Registrations/_get_registration_instances/is_successful.yml +26 -14
  119. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Registrations/_get_registration_instances/returns_an_array_of_registrations.yml +26 -14
  120. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Registrations/_get_registration_launch_link/fails_when_id_is_invalid.yml +23 -13
  121. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Registrations/_get_registration_launch_link/is_successful.yml +23 -13
  122. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Registrations/_get_registration_launch_link/results/returns_a_URL_string.yml +23 -13
  123. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Registrations/_get_registration_progress/detail/does_not_return_activity_details_by_default.yml +24 -14
  124. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Registrations/_get_registration_progress/detail/returns_activity_details_if_requested.yml +24 -14
  125. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Registrations/_get_registration_progress/fails_when_registration_does_not_exist.yml +23 -13
  126. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Registrations/_get_registration_progress/returns_a_registration_when_it_exists.yml +24 -14
  127. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Registrations/_get_registrations/filtering_by_course_id/excludes_results.yml +22 -12
  128. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Registrations/_get_registrations/filtering_by_course_id/includes_results.yml +26 -14
  129. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Registrations/_get_registrations/filtering_by_learner_id/excludes_results.yml +22 -12
  130. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Registrations/_get_registrations/filtering_by_learner_id/includes_results.yml +26 -14
  131. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Registrations/_get_registrations/includes_results_we_expect.yml +26 -14
  132. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Registrations/_get_registrations/is_successful.yml +26 -14
  133. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Registrations/_get_registrations/returns_an_array_of_registrations.yml +26 -14
  134. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Registrations/_post_registration/fails_if_course_id_is_invalid.yml +22 -10
  135. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Registrations/_post_registration/fails_if_registration_id_already_exists.yml +20 -8
  136. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Registrations/_post_registration/is_successful.yml +38 -14
  137. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Registrations/_post_registration/is_successful_even_when_given_a_UTF8/slashed_username.yml +38 -14
  138. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Registrations_Configuration/_get_registration_configuration/fails_when_id_is_invalid.yml +23 -15
  139. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Registrations_Configuration/_get_registration_configuration/is_successful.yml +23 -15
  140. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Registrations_Configuration/_get_registration_configuration/results/makes_settings_available_as_key/value_pairs.yml +23 -15
  141. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Registrations_Configuration/_get_registration_configuration_setting/fails_when_registration_id_is_invalid.yml +23 -15
  142. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Registrations_Configuration/_get_registration_configuration_setting/fails_when_setting_id_is_invalid.yml +20 -10
  143. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Registrations_Configuration/_get_registration_configuration_setting/is_successful.yml +41 -19
  144. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Registrations_Configuration/_get_registration_configuration_setting/results/returns_the_value_as_a_string.yml +41 -19
  145. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Registrations_Configuration/_post_registration_configuration/fails_when_id_is_invalid.yml +25 -15
  146. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Registrations_Configuration/_post_registration_configuration/fails_when_settings_are_invalid.yml +24 -12
  147. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Registrations_Configuration/_post_registration_configuration/is_successful.yml +21 -9
  148. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Registrations_Configuration/_post_registration_configuration/persists_the_settings.yml +88 -48
  149. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Registrations_Configuration/_put_registration_configuration_setting/fails_when_registration_id_is_invalid.yml +25 -15
  150. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Registrations_Configuration/_put_registration_configuration_setting/fails_when_setting_id_is_invalid.yml +20 -10
  151. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Registrations_Configuration/_put_registration_configuration_setting/is_successful.yml +43 -21
  152. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Registrations_Configuration/_put_registration_configuration_setting/results/persists_the_changes.yml +64 -32
  153. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Registrations_LaunchHistory/_get_registration_launch_history/fails_when_registration_does_not_exist.yml +23 -15
  154. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Registrations_LaunchHistory/_get_registration_launch_history/is_successful.yml +23 -31
  155. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Registrations_LaunchHistory/_get_registration_launch_history/returns_an_array_of_registration_launch_histories.yml +23 -31
  156. data/spec/scorm_engine/api/endpoints/about_spec.rb +1 -1
  157. data/spec/scorm_engine/api/endpoints/courses/configuration_spec.rb +5 -5
  158. data/spec/scorm_engine/api/endpoints/courses_spec.rb +8 -7
  159. data/spec/scorm_engine/api/endpoints/destinations_spec.rb +2 -2
  160. data/spec/scorm_engine/api/endpoints/dispatches_spec.rb +1 -1
  161. data/spec/scorm_engine/api/endpoints/registrations/configuration_spec.rb +5 -5
  162. data/spec/scorm_engine/api/endpoints/registrations_spec.rb +2 -2
  163. data/spec/scorm_engine/api/endpoints/tenants/configuration_spec.rb +1 -1
  164. metadata +3 -4
  165. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Destinations/_delete_destination/raises_ArgumentError_when_destination_id_is_missing.yml +0 -32
  166. data/spec/fixtures/vcr/ScormEngine_Api_Endpoints_Dispatches/_get_dispatch_registration_count/when_dispatch_has_registrations/knows_it_s_registration_count.yml +0 -63
@@ -7,61 +7,83 @@ http_interactions:
7
7
  encoding: US-ASCII
8
8
  string: ''
9
9
  headers:
10
- Content-Type:
11
- - application/json
12
10
  User-Agent:
13
- - ScormEngine Ruby Gem 0.1.0
11
+ - ScormEngine Ruby Gem 0.8.1
14
12
  Authorization:
15
13
  - Basic <BASIC_AUTH>
16
14
  response:
17
15
  status:
18
16
  code: 200
19
- message: ''
17
+ message: OK
20
18
  headers:
21
19
  content-type:
22
20
  - application/json
23
- date:
24
- - Wed, 25 Jul 2018 22:10:12 GMT
25
- server:
26
- - nginx
27
21
  content-length:
28
22
  - '14'
29
23
  connection:
30
- - Close
24
+ - close
25
+ date:
26
+ - Fri, 25 Sep 2020 23:05:04 GMT
27
+ p3p:
28
+ - CP="NOI"
29
+ server:
30
+ - Apache
31
+ x-xss-protection:
32
+ - 1; mode=block
33
+ x-cache:
34
+ - Miss from cloudfront
35
+ via:
36
+ - 1.1 794a3d3af21f401cf5ddf53187ea3030.cloudfront.net (CloudFront)
37
+ x-amz-cf-pop:
38
+ - SLC50-C1
39
+ x-amz-cf-id:
40
+ - ClVqfOPyBhSvDw4QpOxaY_Z74Krw7-gwPIF0uo5n6Tju1_8aOiR7HQ==
31
41
  body:
32
42
  encoding: UTF-8
33
- string: '{"value":"81"}'
43
+ string: '{"value":"43"}'
34
44
  http_version:
35
- recorded_at: Wed, 25 Jul 2018 22:10:12 GMT
45
+ recorded_at: Fri, 25 Sep 2020 23:05:04 GMT
36
46
  - request:
37
47
  method: put
38
48
  uri: https://<SCORM_ENGINE_HOST>/ScormEngineInterface/api/v1/ScormEngineGemTesting-default/registrations/testing-golf-explained-registration-1/configuration/PlayerStatusRollupModeThresholdScore
39
49
  body:
40
50
  encoding: UTF-8
41
- string: '{"value":"82"}'
51
+ string: '{"value":"44"}'
42
52
  headers:
43
- Content-Type:
44
- - application/json
45
53
  User-Agent:
46
- - ScormEngine Ruby Gem 0.1.0
54
+ - ScormEngine Ruby Gem 0.8.1
47
55
  Authorization:
48
56
  - Basic <BASIC_AUTH>
57
+ Content-Type:
58
+ - application/json
49
59
  response:
50
60
  status:
51
61
  code: 204
52
- message: ''
62
+ message: No Content
53
63
  headers:
64
+ connection:
65
+ - close
54
66
  date:
55
- - Wed, 25 Jul 2018 22:10:12 GMT
67
+ - Fri, 25 Sep 2020 23:05:04 GMT
68
+ p3p:
69
+ - CP="NOI"
56
70
  server:
57
- - nginx
58
- connection:
59
- - Close
71
+ - Apache
72
+ x-xss-protection:
73
+ - 1; mode=block
74
+ x-cache:
75
+ - Miss from cloudfront
76
+ via:
77
+ - 1.1 34d83bdced2ff151ec8c14c89b681519.cloudfront.net (CloudFront)
78
+ x-amz-cf-pop:
79
+ - SLC50-C1
80
+ x-amz-cf-id:
81
+ - qaCVpSe1WSIVXvTB8D0G1yuNswp38GLAJRN-c0IHr73EU3pHa4kjTw==
60
82
  body:
61
83
  encoding: UTF-8
62
84
  string: ''
63
85
  http_version:
64
- recorded_at: Wed, 25 Jul 2018 22:10:12 GMT
86
+ recorded_at: Fri, 25 Sep 2020 23:05:04 GMT
65
87
  - request:
66
88
  method: get
67
89
  uri: https://<SCORM_ENGINE_HOST>/ScormEngineInterface/api/v1/ScormEngineGemTesting-default/registrations/testing-golf-explained-registration-1/configuration/PlayerStatusRollupModeThresholdScore
@@ -69,30 +91,40 @@ http_interactions:
69
91
  encoding: US-ASCII
70
92
  string: ''
71
93
  headers:
72
- Content-Type:
73
- - application/json
74
94
  User-Agent:
75
- - ScormEngine Ruby Gem 0.1.0
95
+ - ScormEngine Ruby Gem 0.8.1
76
96
  Authorization:
77
97
  - Basic <BASIC_AUTH>
78
98
  response:
79
99
  status:
80
100
  code: 200
81
- message: ''
101
+ message: OK
82
102
  headers:
83
103
  content-type:
84
104
  - application/json
85
- date:
86
- - Wed, 25 Jul 2018 22:10:13 GMT
87
- server:
88
- - nginx
89
105
  content-length:
90
106
  - '14'
91
107
  connection:
92
- - Close
108
+ - close
109
+ date:
110
+ - Fri, 25 Sep 2020 23:05:04 GMT
111
+ p3p:
112
+ - CP="NOI"
113
+ server:
114
+ - Apache
115
+ x-xss-protection:
116
+ - 1; mode=block
117
+ x-cache:
118
+ - Miss from cloudfront
119
+ via:
120
+ - 1.1 6499018181503258b63542f68301cbb1.cloudfront.net (CloudFront)
121
+ x-amz-cf-pop:
122
+ - SLC50-C1
123
+ x-amz-cf-id:
124
+ - j64a9BWqfpt2CnTsgaXWuWl7ij-ZRce4Y_yJtHnU9FAj-V0G2JuRdg==
93
125
  body:
94
126
  encoding: UTF-8
95
- string: '{"value":"82"}'
127
+ string: '{"value":"44"}'
96
128
  http_version:
97
- recorded_at: Wed, 25 Jul 2018 22:10:13 GMT
129
+ recorded_at: Fri, 25 Sep 2020 23:05:04 GMT
98
130
  recorded_with: VCR 4.0.0
@@ -7,32 +7,40 @@ http_interactions:
7
7
  encoding: US-ASCII
8
8
  string: ''
9
9
  headers:
10
- Content-Type:
11
- - application/json
12
10
  User-Agent:
13
- - ScormEngine Ruby Gem 0.1.0
11
+ - ScormEngine Ruby Gem 0.8.1
14
12
  Authorization:
15
13
  - Basic <BASIC_AUTH>
16
14
  response:
17
15
  status:
18
16
  code: 404
19
- message: ''
17
+ message: Not Found
20
18
  headers:
21
19
  content-type:
22
20
  - application/json
23
- date:
24
- - Fri, 27 Jul 2018 23:29:58 GMT
25
- server:
26
- - nginx
27
- vary:
28
- - Accept-Encoding
29
21
  content-length:
30
- - '78'
22
+ - '65'
31
23
  connection:
32
- - Close
24
+ - close
25
+ date:
26
+ - Fri, 25 Sep 2020 23:08:40 GMT
27
+ p3p:
28
+ - CP="NOI"
29
+ server:
30
+ - Apache
31
+ x-xss-protection:
32
+ - 1; mode=block
33
+ x-cache:
34
+ - Error from cloudfront
35
+ via:
36
+ - 1.1 9b5dfa5054d4b87503050003e7571c65.cloudfront.net (CloudFront)
37
+ x-amz-cf-pop:
38
+ - SLC50-C1
39
+ x-amz-cf-id:
40
+ - 4FSLo8UnUGhA4NKI-xB_v1hWM9WHWSI9YwsFdvtlEbS_KonAbJpAQA==
33
41
  body:
34
- encoding: ASCII-8BIT
35
- string: '{"message":"External Registration ID ''reg-does-not-exist''"}'
42
+ encoding: UTF-8
43
+ string: '{"message":"Registration ID ''reg-does-not-exist'' does not exist"}'
36
44
  http_version:
37
- recorded_at: Fri, 27 Jul 2018 23:29:58 GMT
45
+ recorded_at: Fri, 25 Sep 2020 23:08:40 GMT
38
46
  recorded_with: VCR 4.0.0
@@ -7,48 +7,40 @@ http_interactions:
7
7
  encoding: US-ASCII
8
8
  string: ''
9
9
  headers:
10
- Content-Type:
11
- - application/json
12
10
  User-Agent:
13
- - ScormEngine Ruby Gem 0.1.0
11
+ - ScormEngine Ruby Gem 0.8.1
14
12
  Authorization:
15
13
  - Basic <BASIC_AUTH>
16
14
  response:
17
15
  status:
18
16
  code: 200
19
- message: ''
17
+ message: OK
20
18
  headers:
21
19
  content-type:
22
20
  - application/json
23
- date:
24
- - Fri, 27 Jul 2018 23:29:55 GMT
25
- server:
26
- - nginx
27
- vary:
28
- - Accept-Encoding
29
21
  content-length:
30
- - '321'
22
+ - '20'
31
23
  connection:
32
- - Close
24
+ - close
25
+ date:
26
+ - Fri, 25 Sep 2020 23:08:41 GMT
27
+ p3p:
28
+ - CP="NOI"
29
+ server:
30
+ - Apache
31
+ x-xss-protection:
32
+ - 1; mode=block
33
+ x-cache:
34
+ - Miss from cloudfront
35
+ via:
36
+ - 1.1 a2a145b915c6e207f03377a67fbebd5f.cloudfront.net (CloudFront)
37
+ x-amz-cf-pop:
38
+ - SLC50-C1
39
+ x-amz-cf-id:
40
+ - va28RY8VJARK-w3ZAFuIeMU2KPoiZJkbLkRWAvw31SKiVW5B88y4Ow==
33
41
  body:
34
- encoding: ASCII-8BIT
35
- string: '{"launchHistory":[{"id":"testing-golf-explained-registration-1","instanceId":0.0,"launchTime":"07/25/2018
36
- 20:41:26 PM","launchTimeUtc":"07/25/2018 20:41:26 PM","exitTime":"07/25/2018
37
- 20:41:36 PM","exitTimeUtc":"07/25/2018 20:41:36 PM","completionStatus":"Incomplete","successStatus":"Failed","totalSecondsTracked
38
- ":25.7,"lastRuntimeUpdate":"07/25/2018 20:41:36 PM","lastRuntimeUpdateUtc":"07/25/2018
39
- 20:41:36 PM"},{"id":"testing-golf-explained-registration-1","instanceId":0.0,"launchTime":"07/25/2018
40
- 20:02:14 PM","launchTimeUtc":"07/25/2018 20:02:14 PM","exitTime":"07/25/2018
41
- 20:02:24 PM","exitTimeUtc":"07/25/2018 20:02:24 PM","completionStatus":"Incomplete","successStatus":"Failed","totalSecondsTracked
42
- ":19.3,"lastRuntimeUpdate":"07/25/2018 20:02:24 PM","lastRuntimeUpdateUtc":"07/25/2018
43
- 20:02:24 PM"},{"id":"testing-golf-explained-registration-1","instanceId":0.0,"launchTime":"07/25/2018
44
- 20:02:02 PM","launchTimeUtc":"07/25/2018 20:02:02 PM","exitTime":"07/25/2018
45
- 20:02:14 PM","exitTimeUtc":"07/25/2018 20:02:14 PM","completionStatus":"Incomplete","successStatus":"Failed","totalSecondsTracked
46
- ":13.94,"lastRuntimeUpdate":"07/25/2018 20:02:14 PM","lastRuntimeUpdateUtc":"07/25/2018
47
- 20:02:14 PM"},{"id":"testing-golf-explained-registration-1","instanceId":0.0,"launchTime":"07/25/2018
48
- 20:01:49 PM","launchTimeUtc":"07/25/2018 20:01:49 PM","exitTime":"07/25/2018
49
- 20:01:59 PM","exitTimeUtc":"07/25/2018 20:01:59 PM","completionStatus":"Incomplete","successStatus":"Failed","totalSecondsTracked
50
- ":6.77,"lastRuntimeUpdate":"07/25/2018 20:01:59 PM","lastRuntimeUpdateUtc":"07/25/2018
51
- 20:01:59 PM"}]}'
42
+ encoding: UTF-8
43
+ string: '{"launchHistory":[]}'
52
44
  http_version:
53
- recorded_at: Fri, 27 Jul 2018 23:29:55 GMT
45
+ recorded_at: Fri, 25 Sep 2020 23:08:41 GMT
54
46
  recorded_with: VCR 4.0.0
@@ -7,48 +7,40 @@ http_interactions:
7
7
  encoding: US-ASCII
8
8
  string: ''
9
9
  headers:
10
- Content-Type:
11
- - application/json
12
10
  User-Agent:
13
- - ScormEngine Ruby Gem 0.1.0
11
+ - ScormEngine Ruby Gem 0.8.1
14
12
  Authorization:
15
13
  - Basic <BASIC_AUTH>
16
14
  response:
17
15
  status:
18
16
  code: 200
19
- message: ''
17
+ message: OK
20
18
  headers:
21
19
  content-type:
22
20
  - application/json
23
- date:
24
- - Fri, 27 Jul 2018 23:29:56 GMT
25
- server:
26
- - nginx
27
- vary:
28
- - Accept-Encoding
29
21
  content-length:
30
- - '321'
22
+ - '20'
31
23
  connection:
32
- - Close
24
+ - close
25
+ date:
26
+ - Fri, 25 Sep 2020 23:08:41 GMT
27
+ p3p:
28
+ - CP="NOI"
29
+ server:
30
+ - Apache
31
+ x-xss-protection:
32
+ - 1; mode=block
33
+ x-cache:
34
+ - Miss from cloudfront
35
+ via:
36
+ - 1.1 dc6b456d2b062aa3de2642bc312fc394.cloudfront.net (CloudFront)
37
+ x-amz-cf-pop:
38
+ - SLC50-C1
39
+ x-amz-cf-id:
40
+ - 908szj7kgyOwky3LzsWnkSHS5fmZ0ymujA16FCksVKqBWkdKztsspw==
33
41
  body:
34
- encoding: ASCII-8BIT
35
- string: '{"launchHistory":[{"id":"testing-golf-explained-registration-1","instanceId":0.0,"launchTime":"07/25/2018
36
- 20:41:26 PM","launchTimeUtc":"07/25/2018 20:41:26 PM","exitTime":"07/25/2018
37
- 20:41:36 PM","exitTimeUtc":"07/25/2018 20:41:36 PM","completionStatus":"Incomplete","successStatus":"Failed","totalSecondsTracked
38
- ":25.7,"lastRuntimeUpdate":"07/25/2018 20:41:36 PM","lastRuntimeUpdateUtc":"07/25/2018
39
- 20:41:36 PM"},{"id":"testing-golf-explained-registration-1","instanceId":0.0,"launchTime":"07/25/2018
40
- 20:02:14 PM","launchTimeUtc":"07/25/2018 20:02:14 PM","exitTime":"07/25/2018
41
- 20:02:24 PM","exitTimeUtc":"07/25/2018 20:02:24 PM","completionStatus":"Incomplete","successStatus":"Failed","totalSecondsTracked
42
- ":19.3,"lastRuntimeUpdate":"07/25/2018 20:02:24 PM","lastRuntimeUpdateUtc":"07/25/2018
43
- 20:02:24 PM"},{"id":"testing-golf-explained-registration-1","instanceId":0.0,"launchTime":"07/25/2018
44
- 20:02:02 PM","launchTimeUtc":"07/25/2018 20:02:02 PM","exitTime":"07/25/2018
45
- 20:02:14 PM","exitTimeUtc":"07/25/2018 20:02:14 PM","completionStatus":"Incomplete","successStatus":"Failed","totalSecondsTracked
46
- ":13.94,"lastRuntimeUpdate":"07/25/2018 20:02:14 PM","lastRuntimeUpdateUtc":"07/25/2018
47
- 20:02:14 PM"},{"id":"testing-golf-explained-registration-1","instanceId":0.0,"launchTime":"07/25/2018
48
- 20:01:49 PM","launchTimeUtc":"07/25/2018 20:01:49 PM","exitTime":"07/25/2018
49
- 20:01:59 PM","exitTimeUtc":"07/25/2018 20:01:59 PM","completionStatus":"Incomplete","successStatus":"Failed","totalSecondsTracked
50
- ":6.77,"lastRuntimeUpdate":"07/25/2018 20:01:59 PM","lastRuntimeUpdateUtc":"07/25/2018
51
- 20:01:59 PM"}]}'
42
+ encoding: UTF-8
43
+ string: '{"launchHistory":[]}'
52
44
  http_version:
53
- recorded_at: Fri, 27 Jul 2018 23:29:56 GMT
45
+ recorded_at: Fri, 25 Sep 2020 23:08:41 GMT
54
46
  recorded_with: VCR 4.0.0
@@ -7,7 +7,7 @@ RSpec.describe ScormEngine::Api::Endpoints::About do
7
7
  end
8
8
 
9
9
  it "knows the version" do
10
- expect(subject.result.version).to eq "2017.1.47.1282"
10
+ expect(subject.result.version).to eq "20.1.11.284"
11
11
  end
12
12
 
13
13
  it "knows the platform" do
@@ -29,7 +29,7 @@ RSpec.describe ScormEngine::Api::Endpoints::Courses::Configuration do
29
29
  response = subject.get_course_configuration(course_id: "nonexistent-course")
30
30
  expect(response.success?).to eq false
31
31
  expect(response.status).to eq 404
32
- expect(response.message).to match(/External Package ID 'nonexistent-course'/)
32
+ expect(response.message).to match(/'nonexistent-course'/)
33
33
  expect(response.result).to eq nil
34
34
  end
35
35
  end
@@ -68,14 +68,14 @@ RSpec.describe ScormEngine::Api::Endpoints::Courses::Configuration do
68
68
  response = subject.post_course_configuration(course_id: "nonexistent-course", settings: {})
69
69
  expect(response.success?).to eq false
70
70
  expect(response.status).to eq 404
71
- expect(response.message).to match(/External Package ID 'nonexistent-course'/)
71
+ expect(response.message).to match(/'nonexistent-course'/)
72
72
  end
73
73
 
74
74
  it "fails when settings are invalid" do
75
75
  response = subject.post_course_configuration(course_id: "testing-golf-explained", settings: { "NonExistentSettingTotesBogus" => "YES" })
76
76
  expect(response.success?).to eq false
77
77
  expect(response.status).to eq 400
78
- expect(response.message).to match(/No configuration setting found with id.*NonExistentSettingTotesBogus/)
78
+ expect(response.message).to match(/NonExistentSettingTotesBogus/)
79
79
  end
80
80
  end
81
81
 
@@ -99,7 +99,7 @@ RSpec.describe ScormEngine::Api::Endpoints::Courses::Configuration do
99
99
  response = subject.get_course_configuration_setting(course_id: "nonexistent-course", setting_id: "PlayerStatusRollupModeThresholdScore")
100
100
  expect(response.success?).to eq false
101
101
  expect(response.status).to eq 404
102
- expect(response.message).to match(/External Package ID 'nonexistent-course'/)
102
+ expect(response.message).to match(/'nonexistent-course'/)
103
103
  expect(response.result).to eq nil
104
104
  end
105
105
 
@@ -133,7 +133,7 @@ RSpec.describe ScormEngine::Api::Endpoints::Courses::Configuration do
133
133
  response = subject.put_course_configuration_setting(course_id: "nonexistent-course", setting_id: "PlayerStatusRollupModeThresholdScore", value: "42")
134
134
  expect(response.success?).to eq false
135
135
  expect(response.status).to eq 404
136
- expect(response.message).to match(/External Package ID 'nonexistent-course'/)
136
+ expect(response.message).to match(/'nonexistent-course'/)
137
137
  end
138
138
 
139
139
  it "fails when setting_id is invalid" do
@@ -25,7 +25,7 @@ RSpec.describe ScormEngine::Api::Endpoints::Courses do
25
25
  course = courses.results.detect { |c| c.id == "testing-golf-explained" }
26
26
  expect(course.version).to be >= 0
27
27
  expect(course.title).to eq "Golf Explained - Run-time Basic Calls"
28
- expect(course.registration_count).to eq 0
28
+ expect(course.registration_count).to eq 1
29
29
  expect(course.updated).to be_a Time
30
30
  expect(course.description).to eq nil
31
31
  end
@@ -42,7 +42,7 @@ RSpec.describe ScormEngine::Api::Endpoints::Courses do
42
42
  response = subject.get_courses(course_id: "invalid-bogus")
43
43
  expect(response.success?).to eq false
44
44
  expect(response.status).to eq 404
45
- expect(response.message).to match(/External Package ID 'invalid-bogus'/)
45
+ expect(response.message).to match(/'invalid-bogus'/)
46
46
  end
47
47
  end
48
48
 
@@ -76,7 +76,7 @@ RSpec.describe ScormEngine::Api::Endpoints::Courses do
76
76
  end
77
77
 
78
78
  it "returns the :more key in the raw response" do
79
- expect(subject.get_courses.raw_response.body["more"]).to match(%r{https?://.*&more=.+})
79
+ expect(subject.get_courses.raw_response.body["more"]).to match(%r{(https?://)?.*&more=.+})
80
80
  end
81
81
 
82
82
  it "returns all the courses" do
@@ -106,7 +106,7 @@ RSpec.describe ScormEngine::Api::Endpoints::Courses do
106
106
  response = subject.delete_course(course_id: "nonexistent-course")
107
107
  expect(response.success?).to eq false
108
108
  expect(response.status).to eq 404
109
- expect(response.message).to match(/External Package ID 'nonexistent-course'/)
109
+ expect(response.message).to match(/'nonexistent-course'/)
110
110
  end
111
111
  end
112
112
 
@@ -136,7 +136,7 @@ RSpec.describe ScormEngine::Api::Endpoints::Courses do
136
136
  response = subject.get_course_preview(course_id: "nonexistent-course")
137
137
  expect(response.success?).to eq false
138
138
  expect(response.status).to eq 404
139
- expect(response.message).to match(/External Package ID 'nonexistent-course'/)
139
+ expect(response.message).to match(/'nonexistent-course'/)
140
140
  expect(response.result).to eq nil
141
141
  end
142
142
  end
@@ -151,7 +151,8 @@ RSpec.describe ScormEngine::Api::Endpoints::Courses do
151
151
  describe "results" do
152
152
  it "returns a URL string" do
153
153
  url = response.result
154
- expect(url).to match(%r{/defaultui/launch.jsp\?.*testing-golf-explained.*RedirectOnExitUrl=https%3A%2F%2Fexample.com})
154
+ expect(url).to match(%r{/ScormEngineInterface/defaultui/launch.jsp\?jwt=.*})
155
+ # expect(url).to match(%r{/defaultui/launch.jsp\?.*testing-golf-explained.*RedirectOnExitUrl=https%3A%2F%2Fexample.com})
155
156
  end
156
157
  end
157
158
 
@@ -159,7 +160,7 @@ RSpec.describe ScormEngine::Api::Endpoints::Courses do
159
160
  response = subject.get_course_preview(course_id: "nonexistent-course")
160
161
  expect(response.success?).to eq false
161
162
  expect(response.status).to eq 404
162
- expect(response.message).to match(/External Package ID 'nonexistent-course'/)
163
+ expect(response.message).to match(/'nonexistent-course'/)
163
164
  expect(response.result).to eq nil
164
165
  end
165
166
  end