quiz_api_client 4.14.1 → 4.15.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: c7df5e01555ce19ad84445f0287c640e0c2eb9873af3c88a6ad1432162ce228a
4
- data.tar.gz: 04d758bf5007880147d0e4316b6d151821b904b0a84db0401b7b53b426d6791f
3
+ metadata.gz: cadaa3edf6975cbdb4b9281124426254a17d49125d7f3a9342e872b826a132c7
4
+ data.tar.gz: 73a3bf7743d64540340f09c638aa8cfa8b4125142da6205036b5c6b55b698c0a
5
5
  SHA512:
6
- metadata.gz: f4e95a71d9e8853ae5a3ef251b6df743ee36ce1838be1bcdf7ab6675c6e85a800a5cb4a48a7f394b6094d6b9747ea90c5a1ff2942059991bd6a5f69306185043
7
- data.tar.gz: 72c177b35fc78f784c0b26fa49d90c92bfc305539528b357e104864cf339cd870202c97710df4ca672e8d9505b96217be73039b313a4bec7bd244bffbd6c3c15
6
+ metadata.gz: eb0e0a4aad300a2073ab6d534ce201e944bfbfd24280f11509603ac8b81d7c747d175c0408a126c58dec1a326c2715c8cb1e33281d622eeef0a8b52b7e151f66
7
+ data.tar.gz: 19693517278da57fd622f017e590f8d5081aa4f51c8864545230377bfa53ff44d8cbd1ce85d821b0b3ef8477f1e3e948b844e8db3548ec577840c00c9475541d
@@ -25,6 +25,12 @@ module QuizApiClient::Services
25
25
  get_media_upload_url_from_quiz_api(params: params, token: token)
26
26
  end
27
27
 
28
+ def bulk_update_item_alignments(params:, token:)
29
+ raise 'Quiz Id Required' unless params && params[:quiz_id]
30
+
31
+ put_bulk_item_outcome_alignments_update(params: params, token: token)
32
+ end
33
+
28
34
  private
29
35
 
30
36
  def list_from_quiz_api(params:, token:)
@@ -55,5 +61,14 @@ module QuizApiClient::Services
55
61
  quiz_id = params.delete(:quiz_id)
56
62
  client(token: token).get("/api/quizzes/#{quiz_id}/items/media_upload_url")
57
63
  end
64
+
65
+ def put_bulk_item_outcome_alignments_update(params:, token:)
66
+ quiz_id = params.delete(:quiz_id)
67
+ client(token: token).put(
68
+ "/api/quizzes/#{quiz_id}/items/update_outcome_alignments",
69
+ quiz_id: quiz_id,
70
+ items: params
71
+ )
72
+ end
58
73
  end
59
74
  end
@@ -1,3 +1,3 @@
1
1
  module QuizApiClient
2
- VERSION = '4.14.1'.freeze
2
+ VERSION = '4.15.0'.freeze
3
3
  end
@@ -100,4 +100,32 @@ describe QuizApiClient::Services::ItemsService do
100
100
  expect(result.parsed_response).to eql(stubbed_response)
101
101
  end
102
102
  end
103
+
104
+ describe '#update_outcome_alignments' do
105
+ let(:put_url) { "https://#{host}/api/quizzes/1/items/update_outcome_alignments" }
106
+ let(:params) do
107
+ {
108
+ items: [
109
+ { item_id: 1, outcome_alignment_set_guid: '29d04bab-e499-498b-ae47-bcc6a80ed924' },
110
+ { item_id: 2, outcome_alignment_set_guid: 'f9d5002d-7ef5-4341-bf16-471a83a32add' }
111
+ ],
112
+ quiz_id: 1
113
+ }
114
+ end
115
+ it 'returns status ok' do
116
+ stub_request(:put, put_url)
117
+ .to_return(
118
+ status: 200,
119
+ headers: { 'Content-Type' => 'application/json' }
120
+ )
121
+ result = subject.bulk_update_item_alignments(params: params, token: 'token')
122
+
123
+ expect(result.code).to eql(200)
124
+ end
125
+
126
+ it 'raise error for missing quiz_id parameter' do
127
+ params.delete(:quiz_id)
128
+ expect { subject.bulk_update_item_alignments(params: p, token: 'token') }.to raise_error('Quiz Id Required')
129
+ end
130
+ end
103
131
  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.14.1
4
+ version: 4.15.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: 2024-02-22 00:00:00.000000000 Z
18
+ date: 2024-03-28 00:00:00.000000000 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: httparty