qwester 0.3.0 → 0.3.1

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 (41) hide show
  1. checksums.yaml +8 -8
  2. data/app/controllers/qwester/questionnaires_controller.rb +5 -1
  3. data/app/helpers/qwester/questionnaires_helper.rb +10 -1
  4. data/app/models/qwester/answer.rb +1 -1
  5. data/app/models/qwester/answer_store.rb +12 -2
  6. data/app/models/qwester/presentation.rb +1 -1
  7. data/app/models/qwester/presentation_questionnaire.rb +1 -1
  8. data/app/models/qwester/question.rb +1 -1
  9. data/app/models/qwester/questionnaire.rb +4 -2
  10. data/app/models/qwester/questionnaires_question.rb +1 -1
  11. data/app/models/qwester/rule_set.rb +1 -1
  12. data/app/views/qwester/questionnaires/_errors.html.erb +9 -0
  13. data/app/views/qwester/questionnaires/show.html.erb +1 -1
  14. data/db/migrate/20131119142009_add_must_complete_to_qwester_questionnaires.rb +5 -0
  15. data/lib/active_admin/admin/presentations.rb +1 -1
  16. data/lib/active_admin/admin/questionnaires.rb +8 -3
  17. data/lib/active_admin/admin/questions.rb +5 -1
  18. data/lib/active_admin/admin/rule_sets.rb +1 -1
  19. data/lib/qwester/version.rb +5 -1
  20. data/lib/qwester.rb +4 -0
  21. data/lib/rails/actionpack/lib/action_controller/base.rb +12 -2
  22. data/test/dummy/config/initializers/devise.rb +3 -0
  23. data/test/dummy/db/development.sqlite3 +0 -0
  24. data/test/dummy/db/migrate/20131119142050_add_must_complete_to_qwester_questionnaires.qwester.rb +6 -0
  25. data/test/dummy/db/schema.rb +2 -1
  26. data/test/dummy/db/test.sqlite3 +0 -0
  27. data/test/dummy/log/development.log +4328 -0
  28. data/test/dummy/log/test.log +50044 -0
  29. data/test/dummy/test/functional/qwester/questionnaires_controller_test.rb +28 -0
  30. data/test/dummy/tmp/cache/assets/C89/9C0/sprockets%2Fef0400d768d956b1a22f46b922796376 +0 -0
  31. data/test/dummy/tmp/cache/assets/CED/640/sprockets%2F11932203dc8ff571f5fe9c3877c654e2 +0 -0
  32. data/test/dummy/tmp/cache/assets/D25/F00/sprockets%2Fad0526f80ffd1529b10e987396979cfd +0 -0
  33. data/test/dummy/tmp/cache/assets/D4E/1B0/sprockets%2Ff7cbd26ba1d28d48de824f0e94586655 +0 -0
  34. data/test/dummy/tmp/cache/assets/D95/AB0/sprockets%2Fb9dcf112d4bd336b4027fe71ca6d07d8 +0 -0
  35. data/test/dummy/tmp/cache/assets/DDC/400/sprockets%2Fcffd775d018f68ce5dba1ee0d951a994 +0 -0
  36. data/test/dummy/tmp/cache/assets/DEA/360/sprockets%2F0b336bfd9ee211df3dbca3532c3c80dd +0 -0
  37. data/test/dummy/tmp/cache/assets/DFC/940/sprockets%2Fc0cd0c999c4f1fe1bd0b46d3267edb7d +0 -0
  38. data/test/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af +0 -0
  39. data/test/dummy/tmp/cache/assets/E82/AA0/sprockets%2F5c8e0d124c1f8ea2bfdabf41bfbcb88c +0 -0
  40. data/test/unit/qwester/answer_store_test.rb +20 -0
  41. metadata +14 -2
@@ -92,6 +92,34 @@ module Qwester
92
92
  assert_equal(nil, session[Qwester.session_key])
93
93
  assert_response :redirect
94
94
  end
95
+
96
+ def test_update_with_must_complete_and_all_questions_answered
97
+ @questionnaire.update_attribute :must_complete, true
98
+ test_update
99
+ end
100
+
101
+ def test_update_with_must_complete_and_no_questions_answered
102
+ @questionnaire.update_attribute :must_complete, true
103
+ test_update_with_no_answers
104
+ end
105
+
106
+ def test_update_with_must_complete_and_some_answers_completed
107
+ @questionnaire.update_attribute :must_complete, true
108
+ @questionnaire.questions << Question.find(2)
109
+ put(
110
+ :update,
111
+ :id => @questionnaire.id,
112
+ :question_id => {
113
+ @question.id.to_s => {
114
+ :answer_ids => [@answer.id.to_s]
115
+ }
116
+ },
117
+ :use_route => :qwester
118
+ )
119
+ assert_response :success
120
+ assert assigns('questionnaire').errors.present?, "@questionnaire should include errors"
121
+ assert !assigns('qwester_answer_store').questionnaires.include?(@questionnaire), "@questionnaire should not be stored"
122
+ end
95
123
 
96
124
  def test_answer_store_created_when_questionnaire_first_submitted
97
125
  assert_difference 'AnswerStore.count' do
@@ -130,6 +130,26 @@ module Qwester
130
130
  test_preserve # to populate database with extra answer_stores
131
131
  assert_equal(AnswerStore.all.collect(&:session_id).sort, @answer_store.send(:get_session_ids).sort)
132
132
  end
133
+
134
+ def test_completed_questionnaires
135
+ assert_equal [], @answer_store.completed_questionnaires
136
+ @answer_store.answers << @questionnaire.questions.first.answers.first
137
+ @answer_store.questionnaires << @questionnaire
138
+ assert_equal [@questionnaire], @answer_store.completed_questionnaires
139
+ end
140
+
141
+ def test_completed_questionnaires_with_second_question
142
+ first_question = @questionnaire.questions.first
143
+ second_question = Question.find(2)
144
+ second_question.build_standard_answers
145
+ second_question.save
146
+ @questionnaire.questions = [first_question, second_question]
147
+ @answer_store.answers << first_question.answers.first
148
+ @answer_store.questionnaires << @questionnaire
149
+ assert_equal [], @answer_store.completed_questionnaires
150
+ @answer_store.answers << second_question.answers.first
151
+ assert_equal [@questionnaire], @answer_store.completed_questionnaires
152
+ end
133
153
 
134
154
  private
135
155
  def assert_on_destroy_unpreserved_join_entries_removed_for(table)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: qwester
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rob Nichols
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-11-19 00:00:00.000000000 Z
11
+ date: 2013-11-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -197,6 +197,7 @@ files:
197
197
  - app/models/qwester/questionnaire.rb
198
198
  - app/models/qwester/question.rb
199
199
  - app/views/qwester/questionnaires/show.html.erb
200
+ - app/views/qwester/questionnaires/_errors.html.erb
200
201
  - app/views/qwester/questionnaires/index.html.erb
201
202
  - app/views/layouts/qwester/application.html.erb
202
203
  - app/controllers/qwester/application_controller.rb
@@ -218,6 +219,7 @@ files:
218
219
  - db/migrate/20121203150555_add_multi_answer_to_questions.rb
219
220
  - db/migrate/20121115114408_add_ref_to_questions.rb
220
221
  - db/migrate/20121120092108_add_ids_to_questionnaires_questions.rb
222
+ - db/migrate/20131119142009_add_must_complete_to_qwester_questionnaires.rb
221
223
  - db/migrate/20121204082213_create_answer_stores_questionnaires.rb
222
224
  - db/migrate/20130402074240_add_weighting_to_qwester_answers.rb
223
225
  - db/migrate/20121009160807_add_questionnaire_id_to_answers.rb
@@ -261,6 +263,7 @@ files:
261
263
  - test/dummy/db/migrate/20130314103658_add_rule_to_rule_sets.qwester.rb
262
264
  - test/dummy/db/migrate/20130314103661_add_link_text_to_rule_sets.qwester.rb
263
265
  - test/dummy/db/migrate/20130402085423_add_presentation_to_rule_sets.qwester.rb
266
+ - test/dummy/db/migrate/20131119142050_add_must_complete_to_qwester_questionnaires.qwester.rb
264
267
  - test/dummy/db/migrate/20130314103652_add_button_image_to_questionnaires.qwester.rb
265
268
  - test/dummy/db/migrate/20130314103645_create_questions.qwester.rb
266
269
  - test/dummy/db/migrate/20130314103659_add_multi_answer_to_questions.qwester.rb
@@ -321,6 +324,7 @@ files:
321
324
  - test/dummy/tmp/cache/assets/D94/790/sprockets%2Fd78be002b446eb324b68bf26bb1b3f8d
322
325
  - test/dummy/tmp/cache/assets/CF4/190/sprockets%2F15945979ce0f558e72219220cdf8e5ee
323
326
  - test/dummy/tmp/cache/assets/D76/CB0/sprockets%2Fbcaf3567253694bc09a79858c7bdad2a
327
+ - test/dummy/tmp/cache/assets/C89/9C0/sprockets%2Fef0400d768d956b1a22f46b922796376
324
328
  - test/dummy/tmp/cache/assets/C89/F60/sprockets%2F59638d54511f81bd6b41555e34874b4d
325
329
  - test/dummy/tmp/cache/assets/DCA/C00/sprockets%2Fc7e141db4230d75aeeb95cee73548eaa
326
330
  - test/dummy/tmp/cache/assets/DFD/E80/sprockets%2Fb6ba4f337e14c4942a8e68bfaed03bff
@@ -352,6 +356,7 @@ files:
352
356
  - test/dummy/tmp/cache/assets/D57/980/sprockets%2Fb53201d73edbdba1453449a2f65c4bc0
353
357
  - test/dummy/tmp/cache/assets/D57/830/sprockets%2Fc0f0fed8ec79871fb9c8848131d888b0
354
358
  - test/dummy/tmp/cache/assets/D4A/310/sprockets%2Fdd19e98ed3ea33cd27397508b0e34e74
359
+ - test/dummy/tmp/cache/assets/D25/F00/sprockets%2Fad0526f80ffd1529b10e987396979cfd
355
360
  - test/dummy/tmp/cache/assets/D25/BA0/sprockets%2F0fa25091225221bc828ca4abb28cb5c8
356
361
  - test/dummy/tmp/cache/assets/DD2/930/sprockets%2F50b8f1d35ba79d23e5ccf44d2992bcfe
357
362
  - test/dummy/tmp/cache/assets/D66/3A0/sprockets%2F02491a6027da7d0caa9c2282fd3f7e6f
@@ -383,6 +388,7 @@ files:
383
388
  - test/dummy/tmp/cache/assets/DA6/260/sprockets%2F996fb95f5eb0fa6ea87f911c12ba3e51
384
389
  - test/dummy/tmp/cache/assets/DDC/400/sprockets%2Fcffd775d018f68ce5dba1ee0d951a994
385
390
  - test/dummy/tmp/cache/assets/D6B/350/sprockets%2Ffe96748ac9e0ed2203a272c6ea0465ae
391
+ - test/dummy/tmp/cache/assets/D95/AB0/sprockets%2Fb9dcf112d4bd336b4027fe71ca6d07d8
386
392
  - test/dummy/tmp/cache/assets/D81/D40/sprockets%2Faa5b982ce995ea3c817a93f8c847a52e
387
393
  - test/dummy/tmp/cache/assets/D81/6B0/sprockets%2F99c2812cc5649953fd0bd8a9af99aca4
388
394
  - test/dummy/tmp/cache/assets/D61/6B0/sprockets%2F5f51d0141dcc429477e6169aabb1f2ad
@@ -400,6 +406,7 @@ files:
400
406
  - test/dummy/tmp/cache/assets/D4E/1B0/sprockets%2Ff7cbd26ba1d28d48de824f0e94586655
401
407
  - test/dummy/tmp/cache/assets/D63/760/sprockets%2F03bf27ec3f65ed19bc131123a59b3d6f
402
408
  - test/dummy/tmp/cache/assets/D0F/0D0/sprockets%2Fa7cc3b3bb91739976e2a634340bd68e1
409
+ - test/dummy/tmp/cache/assets/DFC/940/sprockets%2Fc0cd0c999c4f1fe1bd0b46d3267edb7d
403
410
  - test/dummy/tmp/cache/assets/CED/640/sprockets%2F11932203dc8ff571f5fe9c3877c654e2
404
411
  - test/dummy/tmp/cache/assets/D3E/330/sprockets%2F45f2fada4467c9ac38a41d9463b822c4
405
412
  - test/dummy/tmp/cache/assets/E5F/280/sprockets%2F38185b36c9bd1cd7cee3ccb7f9a2acfc
@@ -581,6 +588,7 @@ test_files:
581
588
  - test/dummy/db/migrate/20130314103658_add_rule_to_rule_sets.qwester.rb
582
589
  - test/dummy/db/migrate/20130314103661_add_link_text_to_rule_sets.qwester.rb
583
590
  - test/dummy/db/migrate/20130402085423_add_presentation_to_rule_sets.qwester.rb
591
+ - test/dummy/db/migrate/20131119142050_add_must_complete_to_qwester_questionnaires.qwester.rb
584
592
  - test/dummy/db/migrate/20130314103652_add_button_image_to_questionnaires.qwester.rb
585
593
  - test/dummy/db/migrate/20130314103645_create_questions.qwester.rb
586
594
  - test/dummy/db/migrate/20130314103659_add_multi_answer_to_questions.qwester.rb
@@ -641,6 +649,7 @@ test_files:
641
649
  - test/dummy/tmp/cache/assets/D94/790/sprockets%2Fd78be002b446eb324b68bf26bb1b3f8d
642
650
  - test/dummy/tmp/cache/assets/CF4/190/sprockets%2F15945979ce0f558e72219220cdf8e5ee
643
651
  - test/dummy/tmp/cache/assets/D76/CB0/sprockets%2Fbcaf3567253694bc09a79858c7bdad2a
652
+ - test/dummy/tmp/cache/assets/C89/9C0/sprockets%2Fef0400d768d956b1a22f46b922796376
644
653
  - test/dummy/tmp/cache/assets/C89/F60/sprockets%2F59638d54511f81bd6b41555e34874b4d
645
654
  - test/dummy/tmp/cache/assets/DCA/C00/sprockets%2Fc7e141db4230d75aeeb95cee73548eaa
646
655
  - test/dummy/tmp/cache/assets/DFD/E80/sprockets%2Fb6ba4f337e14c4942a8e68bfaed03bff
@@ -672,6 +681,7 @@ test_files:
672
681
  - test/dummy/tmp/cache/assets/D57/980/sprockets%2Fb53201d73edbdba1453449a2f65c4bc0
673
682
  - test/dummy/tmp/cache/assets/D57/830/sprockets%2Fc0f0fed8ec79871fb9c8848131d888b0
674
683
  - test/dummy/tmp/cache/assets/D4A/310/sprockets%2Fdd19e98ed3ea33cd27397508b0e34e74
684
+ - test/dummy/tmp/cache/assets/D25/F00/sprockets%2Fad0526f80ffd1529b10e987396979cfd
675
685
  - test/dummy/tmp/cache/assets/D25/BA0/sprockets%2F0fa25091225221bc828ca4abb28cb5c8
676
686
  - test/dummy/tmp/cache/assets/DD2/930/sprockets%2F50b8f1d35ba79d23e5ccf44d2992bcfe
677
687
  - test/dummy/tmp/cache/assets/D66/3A0/sprockets%2F02491a6027da7d0caa9c2282fd3f7e6f
@@ -703,6 +713,7 @@ test_files:
703
713
  - test/dummy/tmp/cache/assets/DA6/260/sprockets%2F996fb95f5eb0fa6ea87f911c12ba3e51
704
714
  - test/dummy/tmp/cache/assets/DDC/400/sprockets%2Fcffd775d018f68ce5dba1ee0d951a994
705
715
  - test/dummy/tmp/cache/assets/D6B/350/sprockets%2Ffe96748ac9e0ed2203a272c6ea0465ae
716
+ - test/dummy/tmp/cache/assets/D95/AB0/sprockets%2Fb9dcf112d4bd336b4027fe71ca6d07d8
706
717
  - test/dummy/tmp/cache/assets/D81/D40/sprockets%2Faa5b982ce995ea3c817a93f8c847a52e
707
718
  - test/dummy/tmp/cache/assets/D81/6B0/sprockets%2F99c2812cc5649953fd0bd8a9af99aca4
708
719
  - test/dummy/tmp/cache/assets/D61/6B0/sprockets%2F5f51d0141dcc429477e6169aabb1f2ad
@@ -720,6 +731,7 @@ test_files:
720
731
  - test/dummy/tmp/cache/assets/D4E/1B0/sprockets%2Ff7cbd26ba1d28d48de824f0e94586655
721
732
  - test/dummy/tmp/cache/assets/D63/760/sprockets%2F03bf27ec3f65ed19bc131123a59b3d6f
722
733
  - test/dummy/tmp/cache/assets/D0F/0D0/sprockets%2Fa7cc3b3bb91739976e2a634340bd68e1
734
+ - test/dummy/tmp/cache/assets/DFC/940/sprockets%2Fc0cd0c999c4f1fe1bd0b46d3267edb7d
723
735
  - test/dummy/tmp/cache/assets/CED/640/sprockets%2F11932203dc8ff571f5fe9c3877c654e2
724
736
  - test/dummy/tmp/cache/assets/D3E/330/sprockets%2F45f2fada4467c9ac38a41d9463b822c4
725
737
  - test/dummy/tmp/cache/assets/E5F/280/sprockets%2F38185b36c9bd1cd7cee3ccb7f9a2acfc