coalescing_panda 4.1.21 → 4.1.22

Sign up to get free protection for your applications and to get access to all the features.
@@ -156,6 +156,61 @@ RSpec.describe CoalescingPanda::Workers::CourseMiner, :type => :model do
156
156
  end
157
157
  end
158
158
 
159
+ describe 'delete_records' do
160
+ it 'hard deletes collections' do
161
+ CoalescingPanda::Enrollment.destroy_all
162
+ worker.sync_sections(sections_response)
163
+ worker.sync_users(users_response)
164
+ worker.sync_enrollments(enrollments_response)
165
+ enrollments = enrollments_response
166
+ enrollments.shift
167
+ worker = CoalescingPanda::Workers::CourseMiner.new(course, [:enrollments])
168
+ worker.sync_enrollments(enrollments)
169
+ expect(CoalescingPanda::Enrollment.count).to eq 2
170
+ end
171
+
172
+ it 'marks collection records deleted' do
173
+ CoalescingPanda::Enrollment.destroy_all
174
+ worker.sync_sections(sections_response)
175
+ worker.sync_users(users_response)
176
+ worker.sync_enrollments(enrollments_response)
177
+ enrollments = enrollments_response
178
+ enrollments.shift
179
+ worker = CoalescingPanda::Workers::CourseMiner.new(course, [:enrollments, :soft_delete])
180
+ worker.sync_enrollments(enrollments)
181
+ expect(CoalescingPanda::Enrollment.count).to eq 3
182
+ expect(CoalescingPanda::Enrollment.where(workflow_state: 'deleted').count).to eq(1)
183
+ end
184
+
185
+ it 'hard deletes records' do
186
+ CoalescingPanda::Enrollment.destroy_all
187
+ worker.sync_sections(sections_response)
188
+ worker.sync_users(users_response)
189
+ worker.sync_enrollments(enrollments_response)
190
+ users = users_response
191
+ users.shift
192
+ worker = CoalescingPanda::Workers::CourseMiner.new(course, [:users])
193
+ worker.sync_users(users)
194
+ expect(CoalescingPanda::User.count).to eq 2
195
+ expect(CoalescingPanda::Enrollment.count).to eq 2
196
+ end
197
+
198
+ it 'marks records deleted' do
199
+ CoalescingPanda::Enrollment.destroy_all
200
+ worker.sync_sections(sections_response)
201
+ worker.sync_users(users_response)
202
+ worker.sync_enrollments(enrollments_response)
203
+ users = users_response
204
+ users.shift
205
+ worker = CoalescingPanda::Workers::CourseMiner.new(course, [:users, :soft_delete])
206
+ worker.sync_users(users)
207
+ expect(CoalescingPanda::User.count).to eq 3
208
+ expect(CoalescingPanda::Enrollment.count).to eq 3
209
+ expect(CoalescingPanda::Enrollment.where(workflow_state: 'deleted').count).to eq(1)
210
+ expect(CoalescingPanda::User.where(workflow_state: 'deleted').count).to eq(1)
211
+ end
212
+ end
213
+
159
214
  describe '#standard_attributes' do
160
215
  let(:start_time) { Time.now.iso8601 }
161
216
  let(:end_time) { 3.weeks.from_now.iso8601 }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: coalescing_panda
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.1.21
4
+ version: 4.1.22
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nathan Mills
@@ -10,34 +10,34 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2015-09-01 00:00:00.000000000 Z
13
+ date: 2015-09-29 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rails
17
17
  requirement: !ruby/object:Gem::Requirement
18
18
  requirements:
19
- - - ~>
19
+ - - "~>"
20
20
  - !ruby/object:Gem::Version
21
21
  version: 4.2.1
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
- - - ~>
26
+ - - "~>"
27
27
  - !ruby/object:Gem::Version
28
28
  version: 4.2.1
29
29
  - !ruby/object:Gem::Dependency
30
30
  name: bearcat
31
31
  requirement: !ruby/object:Gem::Requirement
32
32
  requirements:
33
- - - ~>
33
+ - - "~>"
34
34
  - !ruby/object:Gem::Version
35
35
  version: 1.0.21
36
36
  type: :runtime
37
37
  prerelease: false
38
38
  version_requirements: !ruby/object:Gem::Requirement
39
39
  requirements:
40
- - - ~>
40
+ - - "~>"
41
41
  - !ruby/object:Gem::Version
42
42
  version: 1.0.21
43
43
  - !ruby/object:Gem::Dependency
@@ -58,252 +58,252 @@ dependencies:
58
58
  name: ims-lti
59
59
  requirement: !ruby/object:Gem::Requirement
60
60
  requirements:
61
- - - '>='
61
+ - - ">="
62
62
  - !ruby/object:Gem::Version
63
63
  version: '0'
64
64
  type: :runtime
65
65
  prerelease: false
66
66
  version_requirements: !ruby/object:Gem::Requirement
67
67
  requirements:
68
- - - '>='
68
+ - - ">="
69
69
  - !ruby/object:Gem::Version
70
70
  version: '0'
71
71
  - !ruby/object:Gem::Dependency
72
72
  name: haml-rails
73
73
  requirement: !ruby/object:Gem::Requirement
74
74
  requirements:
75
- - - '>='
75
+ - - ">="
76
76
  - !ruby/object:Gem::Version
77
77
  version: '0'
78
78
  type: :runtime
79
79
  prerelease: false
80
80
  version_requirements: !ruby/object:Gem::Requirement
81
81
  requirements:
82
- - - '>='
82
+ - - ">="
83
83
  - !ruby/object:Gem::Version
84
84
  version: '0'
85
85
  - !ruby/object:Gem::Dependency
86
86
  name: sass-rails
87
87
  requirement: !ruby/object:Gem::Requirement
88
88
  requirements:
89
- - - '>='
89
+ - - ">="
90
90
  - !ruby/object:Gem::Version
91
91
  version: '3.2'
92
92
  type: :runtime
93
93
  prerelease: false
94
94
  version_requirements: !ruby/object:Gem::Requirement
95
95
  requirements:
96
- - - '>='
96
+ - - ">="
97
97
  - !ruby/object:Gem::Version
98
98
  version: '3.2'
99
99
  - !ruby/object:Gem::Dependency
100
100
  name: jquery-rails
101
101
  requirement: !ruby/object:Gem::Requirement
102
102
  requirements:
103
- - - '>='
103
+ - - ">="
104
104
  - !ruby/object:Gem::Version
105
105
  version: '0'
106
106
  type: :runtime
107
107
  prerelease: false
108
108
  version_requirements: !ruby/object:Gem::Requirement
109
109
  requirements:
110
- - - '>='
110
+ - - ">="
111
111
  - !ruby/object:Gem::Version
112
112
  version: '0'
113
113
  - !ruby/object:Gem::Dependency
114
114
  name: coffee-rails
115
115
  requirement: !ruby/object:Gem::Requirement
116
116
  requirements:
117
- - - '>='
117
+ - - ">="
118
118
  - !ruby/object:Gem::Version
119
119
  version: '0'
120
120
  type: :runtime
121
121
  prerelease: false
122
122
  version_requirements: !ruby/object:Gem::Requirement
123
123
  requirements:
124
- - - '>='
124
+ - - ">="
125
125
  - !ruby/object:Gem::Version
126
126
  version: '0'
127
127
  - !ruby/object:Gem::Dependency
128
128
  name: p3p
129
129
  requirement: !ruby/object:Gem::Requirement
130
130
  requirements:
131
- - - '>='
131
+ - - ">="
132
132
  - !ruby/object:Gem::Version
133
133
  version: '0'
134
134
  type: :runtime
135
135
  prerelease: false
136
136
  version_requirements: !ruby/object:Gem::Requirement
137
137
  requirements:
138
- - - '>='
138
+ - - ">="
139
139
  - !ruby/object:Gem::Version
140
140
  version: '0'
141
141
  - !ruby/object:Gem::Dependency
142
142
  name: useragent
143
143
  requirement: !ruby/object:Gem::Requirement
144
144
  requirements:
145
- - - '>='
145
+ - - ">="
146
146
  - !ruby/object:Gem::Version
147
147
  version: '0'
148
148
  type: :runtime
149
149
  prerelease: false
150
150
  version_requirements: !ruby/object:Gem::Requirement
151
151
  requirements:
152
- - - '>='
152
+ - - ">="
153
153
  - !ruby/object:Gem::Version
154
154
  version: '0'
155
155
  - !ruby/object:Gem::Dependency
156
156
  name: delayed_job_active_record
157
157
  requirement: !ruby/object:Gem::Requirement
158
158
  requirements:
159
- - - '>='
159
+ - - ">="
160
160
  - !ruby/object:Gem::Version
161
161
  version: '0'
162
162
  type: :runtime
163
163
  prerelease: false
164
164
  version_requirements: !ruby/object:Gem::Requirement
165
165
  requirements:
166
- - - '>='
166
+ - - ">="
167
167
  - !ruby/object:Gem::Version
168
168
  version: '0'
169
169
  - !ruby/object:Gem::Dependency
170
170
  name: sqlite3
171
171
  requirement: !ruby/object:Gem::Requirement
172
172
  requirements:
173
- - - '>='
173
+ - - ">="
174
174
  - !ruby/object:Gem::Version
175
175
  version: '0'
176
176
  type: :development
177
177
  prerelease: false
178
178
  version_requirements: !ruby/object:Gem::Requirement
179
179
  requirements:
180
- - - '>='
180
+ - - ">="
181
181
  - !ruby/object:Gem::Version
182
182
  version: '0'
183
183
  - !ruby/object:Gem::Dependency
184
184
  name: rspec-rails
185
185
  requirement: !ruby/object:Gem::Requirement
186
186
  requirements:
187
- - - '>='
187
+ - - ">="
188
188
  - !ruby/object:Gem::Version
189
189
  version: '0'
190
190
  type: :development
191
191
  prerelease: false
192
192
  version_requirements: !ruby/object:Gem::Requirement
193
193
  requirements:
194
- - - '>='
194
+ - - ">="
195
195
  - !ruby/object:Gem::Version
196
196
  version: '0'
197
197
  - !ruby/object:Gem::Dependency
198
198
  name: factory_girl_rails
199
199
  requirement: !ruby/object:Gem::Requirement
200
200
  requirements:
201
- - - '>='
201
+ - - ">="
202
202
  - !ruby/object:Gem::Version
203
203
  version: '0'
204
204
  type: :development
205
205
  prerelease: false
206
206
  version_requirements: !ruby/object:Gem::Requirement
207
207
  requirements:
208
- - - '>='
208
+ - - ">="
209
209
  - !ruby/object:Gem::Version
210
210
  version: '0'
211
211
  - !ruby/object:Gem::Dependency
212
212
  name: shoulda-matchers
213
213
  requirement: !ruby/object:Gem::Requirement
214
214
  requirements:
215
- - - '>='
215
+ - - ">="
216
216
  - !ruby/object:Gem::Version
217
217
  version: '0'
218
218
  type: :development
219
219
  prerelease: false
220
220
  version_requirements: !ruby/object:Gem::Requirement
221
221
  requirements:
222
- - - '>='
222
+ - - ">="
223
223
  - !ruby/object:Gem::Version
224
224
  version: '0'
225
225
  - !ruby/object:Gem::Dependency
226
226
  name: nokogiri
227
227
  requirement: !ruby/object:Gem::Requirement
228
228
  requirements:
229
- - - '>='
229
+ - - ">="
230
230
  - !ruby/object:Gem::Version
231
231
  version: '0'
232
232
  type: :development
233
233
  prerelease: false
234
234
  version_requirements: !ruby/object:Gem::Requirement
235
235
  requirements:
236
- - - '>='
236
+ - - ">="
237
237
  - !ruby/object:Gem::Version
238
238
  version: '0'
239
239
  - !ruby/object:Gem::Dependency
240
240
  name: simplecov
241
241
  requirement: !ruby/object:Gem::Requirement
242
242
  requirements:
243
- - - '>='
243
+ - - ">="
244
244
  - !ruby/object:Gem::Version
245
245
  version: '0'
246
246
  type: :development
247
247
  prerelease: false
248
248
  version_requirements: !ruby/object:Gem::Requirement
249
249
  requirements:
250
- - - '>='
250
+ - - ">="
251
251
  - !ruby/object:Gem::Version
252
252
  version: '0'
253
253
  - !ruby/object:Gem::Dependency
254
254
  name: byebug
255
255
  requirement: !ruby/object:Gem::Requirement
256
256
  requirements:
257
- - - '>='
257
+ - - ">="
258
258
  - !ruby/object:Gem::Version
259
259
  version: '0'
260
260
  type: :development
261
261
  prerelease: false
262
262
  version_requirements: !ruby/object:Gem::Requirement
263
263
  requirements:
264
- - - '>='
264
+ - - ">="
265
265
  - !ruby/object:Gem::Version
266
266
  version: '0'
267
267
  - !ruby/object:Gem::Dependency
268
268
  name: pry
269
269
  requirement: !ruby/object:Gem::Requirement
270
270
  requirements:
271
- - - '>='
271
+ - - ">="
272
272
  - !ruby/object:Gem::Version
273
273
  version: '0'
274
274
  type: :development
275
275
  prerelease: false
276
276
  version_requirements: !ruby/object:Gem::Requirement
277
277
  requirements:
278
- - - '>='
278
+ - - ">="
279
279
  - !ruby/object:Gem::Version
280
280
  version: '0'
281
281
  - !ruby/object:Gem::Dependency
282
282
  name: webmock
283
283
  requirement: !ruby/object:Gem::Requirement
284
284
  requirements:
285
- - - '>='
285
+ - - ">="
286
286
  - !ruby/object:Gem::Version
287
287
  version: '0'
288
288
  type: :development
289
289
  prerelease: false
290
290
  version_requirements: !ruby/object:Gem::Requirement
291
291
  requirements:
292
- - - '>='
292
+ - - ">="
293
293
  - !ruby/object:Gem::Version
294
294
  version: '0'
295
295
  - !ruby/object:Gem::Dependency
296
296
  name: lol_dba
297
297
  requirement: !ruby/object:Gem::Requirement
298
298
  requirements:
299
- - - '>='
299
+ - - ">="
300
300
  - !ruby/object:Gem::Version
301
301
  version: '0'
302
302
  type: :development
303
303
  prerelease: false
304
304
  version_requirements: !ruby/object:Gem::Requirement
305
305
  requirements:
306
- - - '>='
306
+ - - ">="
307
307
  - !ruby/object:Gem::Version
308
308
  version: '0'
309
309
  description:
@@ -424,8 +424,10 @@ files:
424
424
  - spec/dummy/config/initializers/wrap_parameters.rb
425
425
  - spec/dummy/config/locales/en.yml
426
426
  - spec/dummy/config/routes.rb
427
+ - spec/dummy/db/development.sqlite3
427
428
  - spec/dummy/db/schema.rb
428
429
  - spec/dummy/db/test.sqlite3
430
+ - spec/dummy/log/development.log
429
431
  - spec/dummy/log/test.log
430
432
  - spec/dummy/public/404.html
431
433
  - spec/dummy/public/422.html
@@ -468,17 +470,17 @@ require_paths:
468
470
  - lib
469
471
  required_ruby_version: !ruby/object:Gem::Requirement
470
472
  requirements:
471
- - - '>='
473
+ - - ">="
472
474
  - !ruby/object:Gem::Version
473
475
  version: '0'
474
476
  required_rubygems_version: !ruby/object:Gem::Requirement
475
477
  requirements:
476
- - - '>='
478
+ - - ">="
477
479
  - !ruby/object:Gem::Version
478
480
  version: '0'
479
481
  requirements: []
480
482
  rubyforge_project:
481
- rubygems_version: 2.4.6
483
+ rubygems_version: 2.4.5
482
484
  signing_key:
483
485
  specification_version: 4
484
486
  summary: Canvas LTI and OAUTH2 mountable engine
@@ -514,8 +516,10 @@ test_files:
514
516
  - spec/dummy/config/locales/en.yml
515
517
  - spec/dummy/config/routes.rb
516
518
  - spec/dummy/config.ru
519
+ - spec/dummy/db/development.sqlite3
517
520
  - spec/dummy/db/schema.rb
518
521
  - spec/dummy/db/test.sqlite3
522
+ - spec/dummy/log/development.log
519
523
  - spec/dummy/log/test.log
520
524
  - spec/dummy/public/404.html
521
525
  - spec/dummy/public/422.html