quiz_api_client 4.10.0 → 4.11.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 52e4f7fca1b006d34c7396f45867f32c121b77a1d5f0f8a2c466e5e25cfc1cb1
4
- data.tar.gz: 74302f9f3bd2f5a6bc5971ae779e21fac29e3a4aac87eb887808e5dc2d732ece
3
+ metadata.gz: 7b281ace3f326513105636560b94d9af165baf24dd5ad98bd1ed82f6f1345962
4
+ data.tar.gz: d321bc94f8190d043fe54fda0a7f3b18b2493e3f1658a5b363a5d93294254889
5
5
  SHA512:
6
- metadata.gz: abc357f28d6f1c72d90f3f1ac4b2255f3e04d45d6cc85e71ac99fd2cdb919b705fdd630283b08bfd798e9ef3589df2f72e00c451c1adec99b176cd8a0d15ada6
7
- data.tar.gz: f0d5a44aeef52c5f3c19530e82ba02b76d54db50731b6b00b23f49e52e6545c499708c5209ce2d0ad342742c77b97c7964cf8d3793169d8cbaf30c38942725e4
6
+ metadata.gz: 32934db0eba2063233187faaa52f02d9294631a1606cb715402cf24da97709b3c82d0fd0bea24eabfad7eea9b0f9be434f9f6820ecd7b481e065ea0623025058
7
+ data.tar.gz: 1d9d7936b213458c62f4b0b0a23e390e642b9d2de686c1b3d28c814882c0d9d1d02515f8a3d08a6e1cd1837edbb748b8e2ac0a31129bfb3dc92e5ae302b03595
@@ -0,0 +1,16 @@
1
+ module QuizApiClient::Services
2
+ class AnalysesService < BaseApiService
3
+ def create(params:, token: nil)
4
+ post_to_quiz_api(params: params, token: token)
5
+ end
6
+
7
+ private
8
+
9
+ def post_to_quiz_api(params:, token:)
10
+ client(token: token).post(
11
+ "/api/quizzes/#{params[:quiz_id]}/stats",
12
+ quiz_sessions: params[:quiz_sessions]
13
+ )
14
+ end
15
+ end
16
+ end
@@ -1,3 +1,3 @@
1
1
  module QuizApiClient
2
- VERSION = '4.10.0'.freeze
2
+ VERSION = '4.11.0'.freeze
3
3
  end
@@ -70,6 +70,10 @@ module QuizApiClient
70
70
  @_qti_imports_service ||= Services::QtiImportsService.new(config)
71
71
  end
72
72
 
73
+ def analyses_service
74
+ @_analyses_service ||= Services::AnalysesService.new(config)
75
+ end
76
+
73
77
  def item_analyses_service
74
78
  @_item_analyses_service ||= Services::ItemAnalysesService.new(config)
75
79
  end
@@ -125,6 +129,7 @@ require 'quiz_api_client/services/base_api_service'
125
129
  require 'quiz_api_client/services/content_exports_service'
126
130
  require 'quiz_api_client/services/courses_service'
127
131
  require 'quiz_api_client/services/interaction_types_service'
132
+ require 'quiz_api_client/services/analyses_service'
128
133
  require 'quiz_api_client/services/item_analyses_service'
129
134
  require 'quiz_api_client/services/items_service'
130
135
  require 'quiz_api_client/services/qti_imports_service'
@@ -93,6 +93,13 @@ describe QuizApiClient do
93
93
  end
94
94
  end
95
95
 
96
+ describe '#analyses_service' do
97
+ it 'should create the service' do
98
+ expect(QuizApiClient::Services::AnalysesService).to receive(:new).with(subject.config)
99
+ subject.analyses_service
100
+ end
101
+ end
102
+
96
103
  describe '#item_analyses_service' do
97
104
  it 'should create the service' do
98
105
  expect(QuizApiClient::Services::ItemAnalysesService).to receive(:new).with(subject.config)
@@ -0,0 +1,28 @@
1
+ describe QuizApiClient::Services::AnalysesService do
2
+ let(:host) { 'api.host' }
3
+ let(:config) { QuizApiClient::Config.new { |c| c.host = host } }
4
+ let(:subject) { described_class.new(config) }
5
+
6
+ describe '#create' do
7
+ let(:params) do
8
+ { quiz_id: 1, quiz_session: [1, 5, 10] }
9
+ end
10
+ let(:stubbed_response) { { 'job_id' => 1 } }
11
+ let(:expected_url) { "https://#{host}/api/quizzes/#{params[:quiz_id]}/stats" }
12
+ let(:status_code) { 200 }
13
+
14
+ before do
15
+ stub_request(:post, expected_url)
16
+ .to_return(
17
+ status: status_code,
18
+ body: stubbed_response.to_json,
19
+ headers: { 'Content-Type' => 'application/json' }
20
+ )
21
+ end
22
+
23
+ it 'posts to quiz_api/api/quizzes/{id}/stats and returns the response' do
24
+ result = subject.create(params: params, token: 'token')
25
+ expect(result.parsed_response).to eql(stubbed_response)
26
+ end
27
+ end
28
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: quiz_api_client
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.10.0
4
+ version: 4.11.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alex Slaughter
@@ -15,7 +15,7 @@ authors:
15
15
  autorequire:
16
16
  bindir: exe
17
17
  cert_chain: []
18
- date: 2023-03-28 00:00:00.000000000 Z
18
+ date: 2023-03-31 00:00:00.000000000 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: httparty
@@ -179,6 +179,7 @@ files:
179
179
  - lib/quiz_api_client/http_request/failure.rb
180
180
  - lib/quiz_api_client/http_request/metrics.rb
181
181
  - lib/quiz_api_client/json_formatter.rb
182
+ - lib/quiz_api_client/services/analyses_service.rb
182
183
  - lib/quiz_api_client/services/base_api_service.rb
183
184
  - lib/quiz_api_client/services/content_exports_service.rb
184
185
  - lib/quiz_api_client/services/courses_service.rb
@@ -209,6 +210,7 @@ files:
209
210
  - spec/quiz_api_client/http_request/failure_spec.rb
210
211
  - spec/quiz_api_client/http_request/metrics_spec.rb
211
212
  - spec/quiz_api_client_spec.rb
213
+ - spec/services/analyses_service_spec.rb
212
214
  - spec/services/base_api_service_spec.rb
213
215
  - spec/services/content_exports_service_spec.rb
214
216
  - spec/services/courses_service_spec.rb
@@ -261,6 +263,7 @@ test_files:
261
263
  - spec/quiz_api_client/http_request/failure_spec.rb
262
264
  - spec/quiz_api_client/http_request/metrics_spec.rb
263
265
  - spec/quiz_api_client_spec.rb
266
+ - spec/services/analyses_service_spec.rb
264
267
  - spec/services/base_api_service_spec.rb
265
268
  - spec/services/content_exports_service_spec.rb
266
269
  - spec/services/courses_service_spec.rb