qwester 0.3.0 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
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