qwester 0.0.9 → 0.1.0
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.
- data/README.rdoc +51 -0
- data/app/controllers/qwester/application_controller.rb +1 -2
- data/app/controllers/qwester/questionnaires_controller.rb +1 -2
- data/app/models/qwester/presentation.rb +45 -0
- data/app/models/qwester/presentation_questionnaire.rb +8 -0
- data/app/models/qwester/questionnaire.rb +7 -0
- data/app/models/qwester/rule_set.rb +2 -2
- data/app/views/qwester/questionnaires/index.html.erb +3 -3
- data/db/migrate/20130315112847_create_qwester_presentations.rb +11 -0
- data/db/migrate/20130315113027_create_qwester_presentation_questionnaires.rb +10 -0
- data/db/migrate/20130318102537_add_presentation_to_rule_sets.rb +6 -0
- data/lib/active_admin/admin/answers.rb +1 -1
- data/lib/active_admin/admin/presentations.rb +51 -0
- data/lib/active_admin/admin/questionnaires.rb +2 -0
- data/lib/active_admin/admin/questions.rb +2 -0
- data/lib/active_admin/admin/rule_sets.rb +35 -0
- data/lib/qwester/version.rb +7 -1
- data/lib/rails/actionpack/lib/action_controller/base.rb +36 -3
- data/test/dummy/db/development.sqlite3 +0 -0
- data/test/dummy/db/migrate/20130315113346_create_qwester_presentations.qwester.rb +12 -0
- data/test/dummy/db/migrate/20130315113347_create_qwester_presentation_questionnaires.qwester.rb +11 -0
- data/test/dummy/db/migrate/20130318123540_add_presentation_to_rule_sets.qwester.rb +7 -0
- data/test/dummy/db/schema.rb +20 -3
- data/test/dummy/db/test.sqlite3 +0 -0
- data/test/dummy/log/development.log +9021 -0
- data/test/dummy/log/test.log +146429 -0
- data/test/dummy/public/system/qwester/questionnaires/button_images/000/000/001/link/commend_button.png +0 -0
- data/test/dummy/public/system/qwester/questionnaires/button_images/000/000/001/original/commend_button.png +0 -0
- data/test/dummy/public/system/qwester/questionnaires/button_images/000/000/001/thumbnail/commend_button.png +0 -0
- data/test/dummy/public/system/qwester/questionnaires/button_images/000/000/002/link/commend_button.gif +0 -0
- data/test/dummy/public/system/qwester/questionnaires/button_images/000/000/002/original/commend_button.gif +0 -0
- data/test/dummy/public/system/qwester/questionnaires/button_images/000/000/002/thumbnail/commend_button.gif +0 -0
- data/test/dummy/test/fixtures/qwester/presentation_questionnaires.yml +3 -0
- data/test/dummy/test/fixtures/qwester/presentations.yml +13 -0
- data/test/dummy/test/functional/qwester/questionnaires_controller_test.rb +68 -3
- data/test/unit/qwester/presentation_test.rb +61 -0
- data/test/unit/qwester/questionnaire_test.rb +5 -1
- data/test/unit/qwester/rule_set_test.rb +12 -0
- metadata +32 -2
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -0,0 +1,13 @@
|
|
1
|
+
# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/Fixtures.html
|
2
|
+
|
3
|
+
one:
|
4
|
+
id: 1
|
5
|
+
name: Start
|
6
|
+
title: The starting point
|
7
|
+
description: This is the first set of questionnaires
|
8
|
+
|
9
|
+
two:
|
10
|
+
id: 2
|
11
|
+
name: Main
|
12
|
+
title: Main set of questionnaires
|
13
|
+
description: This is another set of questionnaires
|
@@ -6,10 +6,12 @@ module Qwester
|
|
6
6
|
@questionnaire = Questionnaire.find(1)
|
7
7
|
@question = Question.find(1)
|
8
8
|
@answer = @question.answers.find(1)
|
9
|
+
@presentation = Presentation.find(1)
|
9
10
|
end
|
10
11
|
|
11
12
|
def test_setup
|
12
13
|
assert_equal(2, @question.answers.count)
|
14
|
+
assert_not_equal(@presentation.questionnaires, Questionnaire.all)
|
13
15
|
end
|
14
16
|
|
15
17
|
def test_index
|
@@ -17,6 +19,38 @@ module Qwester
|
|
17
19
|
assert_response :success
|
18
20
|
assert_equal(Questionnaire.all, assigns('questionnaires'))
|
19
21
|
end
|
22
|
+
|
23
|
+
def test_index_with_presentation
|
24
|
+
get :index, {:use_route => :qwester}, :presentations => [@presentation.name]
|
25
|
+
assert_response :success
|
26
|
+
assert_equal([@presentation.name], session[:presentations])
|
27
|
+
assert_equal(@presentation.questionnaires, assigns('questionnaires'))
|
28
|
+
end
|
29
|
+
|
30
|
+
def test_index_with_presentation_and_history_of_other_presentation
|
31
|
+
names = [other_presentation.name, @presentation.name]
|
32
|
+
get :index, {:use_route => :qwester}, :presentations => names
|
33
|
+
assert_response :success
|
34
|
+
assert_equal(names, session[:presentations])
|
35
|
+
assert_equal(@presentation.questionnaires, assigns('questionnaires'))
|
36
|
+
end
|
37
|
+
|
38
|
+
def test_index_with_other_presentation_and_history_of_presentation
|
39
|
+
other = other_presentation
|
40
|
+
names = [@presentation.name, other.name]
|
41
|
+
get :index, {:use_route => :qwester}, :presentations => names
|
42
|
+
assert_response :success
|
43
|
+
assert_equal(names, session[:presentations])
|
44
|
+
assert_equal(other.questionnaires, assigns('questionnaires'))
|
45
|
+
end
|
46
|
+
|
47
|
+
def test_index_with_default_presentation
|
48
|
+
@presentation.update_attribute :default, true
|
49
|
+
get :index, {:use_route => :qwester}
|
50
|
+
assert_response :success
|
51
|
+
assert_equal(@presentation.questionnaires, assigns('questionnaires'))
|
52
|
+
assert_equal(nil, session[:presentations])
|
53
|
+
end
|
20
54
|
|
21
55
|
def test_show
|
22
56
|
get :show, :id => @questionnaire.id, :use_route => :qwester
|
@@ -108,7 +142,7 @@ module Qwester
|
|
108
142
|
rule_set.answers << AnswerStore.last.answers.first
|
109
143
|
rule_set.save
|
110
144
|
get :index, :use_route => :qwester
|
111
|
-
assert_equal([rule_set], assigns['
|
145
|
+
assert_equal([rule_set], assigns['qwester_rule_sets'])
|
112
146
|
end
|
113
147
|
|
114
148
|
def test_reset
|
@@ -135,8 +169,39 @@ module Qwester
|
|
135
169
|
test_update
|
136
170
|
end
|
137
171
|
end
|
138
|
-
|
139
|
-
|
172
|
+
|
173
|
+
def test_transition_from_default_to_final_via_submission_of_questionnaire
|
174
|
+
@target_presentation = Presentation.find(2)
|
175
|
+
@target_presentation.questionnaires = [Questionnaire.find(2)]
|
176
|
+
@target_presentation.save
|
177
|
+
@rule_set = RuleSet.find(1)
|
178
|
+
@rule_set.answers = [@answer]
|
179
|
+
@rule_set.presentation = @target_presentation.name
|
180
|
+
@rule_set.save
|
181
|
+
@presentation.update_attribute :default, true
|
182
|
+
get :index, :use_route => :qwester
|
183
|
+
assert_equal(@presentation.questionnaires, assigns[:questionnaires])
|
184
|
+
put(
|
185
|
+
:update,
|
186
|
+
:id => @questionnaire.id,
|
187
|
+
:question_id => {
|
188
|
+
@question.id.to_s => {
|
189
|
+
:answer_ids => [@answer.id.to_s]
|
190
|
+
}
|
191
|
+
},
|
192
|
+
:use_route => :qwester
|
193
|
+
)
|
194
|
+
assert_response :redirect
|
195
|
+
get :index, :use_route => :qwester
|
196
|
+
assert_equal(@target_presentation.questionnaires, assigns[:questionnaires])
|
197
|
+
end
|
198
|
+
|
199
|
+
private
|
200
|
+
def other_presentation
|
201
|
+
presentation = Presentation.find(2)
|
202
|
+
presentation.questionnaires << Questionnaire.find(2)
|
203
|
+
return presentation
|
204
|
+
end
|
140
205
|
end
|
141
206
|
|
142
207
|
end
|
@@ -0,0 +1,61 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
module Qwester
|
4
|
+
class PresentationTest < ActiveSupport::TestCase
|
5
|
+
|
6
|
+
def setup
|
7
|
+
@questionnaire = Questionnaire.find(1)
|
8
|
+
@presentation = Presentation.find(1)
|
9
|
+
end
|
10
|
+
|
11
|
+
def test_questionnaires
|
12
|
+
assert(@presentation.questionnaires.include? @questionnaire)
|
13
|
+
end
|
14
|
+
|
15
|
+
def test_empty_questionnaires
|
16
|
+
assert_equal([], empty_presentation.questionnaires)
|
17
|
+
end
|
18
|
+
|
19
|
+
def test_valid_names
|
20
|
+
valid = %w{this that foo_bar HeyHo this1 that2 123}
|
21
|
+
valid.each do |name|
|
22
|
+
@presentation.name = name
|
23
|
+
assert(@presentation.save, "#{name} should be a valid presentation name #{@presentation.errors.full_messages}")
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
def test_invalid_names
|
28
|
+
invalid = ['This and that', 'foo bar', '$this', '@that']
|
29
|
+
invalid.each do |name|
|
30
|
+
@presentation.name = name
|
31
|
+
assert(!@presentation.save, "'#{name}' should be an invalid presentation name")
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
def test_title_created_from_name
|
36
|
+
@presentation.name = "foo_bar"
|
37
|
+
@presentation.title = nil
|
38
|
+
@presentation.save
|
39
|
+
assert_equal('Foo bar', @presentation.title)
|
40
|
+
end
|
41
|
+
|
42
|
+
def test_set_as_default
|
43
|
+
assert !@presentation.default?, "Presentation should not be default at start"
|
44
|
+
@presentation.update_attribute(:default, true)
|
45
|
+
assert @presentation.default?, "Presentation should be default"
|
46
|
+
assert !empty_presentation.reload.default?, "Empty presentation should not be default"
|
47
|
+
end
|
48
|
+
|
49
|
+
def test_set_as_default_when_other_presentation_default
|
50
|
+
test_set_as_default
|
51
|
+
empty_presentation.update_attribute(:default, true)
|
52
|
+
assert !@presentation.reload.default?, "Presentation should not be default"
|
53
|
+
assert empty_presentation.default?, "Empty presentation should be default"
|
54
|
+
end
|
55
|
+
|
56
|
+
def empty_presentation
|
57
|
+
@empty_presentation ||= Presentation.find(2)
|
58
|
+
end
|
59
|
+
|
60
|
+
end
|
61
|
+
end
|
@@ -14,9 +14,13 @@ module Qwester
|
|
14
14
|
end
|
15
15
|
end
|
16
16
|
|
17
|
-
def
|
17
|
+
def test_habtm_joins_to_answer_store
|
18
18
|
@questionnaire.answer_stores << AnswerStore.first
|
19
19
|
end
|
20
|
+
|
21
|
+
def test_presentation
|
22
|
+
assert_equal([Presentation.find(1)], @questionnaire.presentations)
|
23
|
+
end
|
20
24
|
end
|
21
25
|
|
22
26
|
end
|
@@ -114,6 +114,18 @@ module Qwester
|
|
114
114
|
@rule_set.save
|
115
115
|
assert(@rule_set.errors[:rule].present?, "there should be an error against the rule field")
|
116
116
|
end
|
117
|
+
|
118
|
+
def test_rule_has_url
|
119
|
+
@rule_set.url = nil
|
120
|
+
assert(@rule_set.invalid?, "RuleSet should be invalid if no url")
|
121
|
+
assert(@rule_set.errors[:url], "Error should be on url field")
|
122
|
+
end
|
123
|
+
|
124
|
+
def test_rule_valid_without_url_if_presentation_set
|
125
|
+
@rule_set.presentation = 'something'
|
126
|
+
@rule_set.url = nil
|
127
|
+
assert(@rule_set.valid?, "RuleSet should be valid")
|
128
|
+
end
|
117
129
|
|
118
130
|
private
|
119
131
|
def assert_no_rule_set_match(answers = nil)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: qwester
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-03-
|
12
|
+
date: 2013-03-18 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|
@@ -117,10 +117,12 @@ extra_rdoc_files: []
|
|
117
117
|
files:
|
118
118
|
- app/helpers/qwester/application_helper.rb
|
119
119
|
- app/helpers/qwester/questionnaires_helper.rb
|
120
|
+
- app/models/qwester/presentation.rb
|
120
121
|
- app/models/qwester/answer_store.rb
|
121
122
|
- app/models/qwester/rule_set.rb
|
122
123
|
- app/models/qwester/answer.rb
|
123
124
|
- app/models/qwester/questionnaires_question.rb
|
125
|
+
- app/models/qwester/presentation_questionnaire.rb
|
124
126
|
- app/models/qwester/questionnaire.rb
|
125
127
|
- app/models/qwester/question.rb
|
126
128
|
- app/views/qwester/questionnaires/show.html.erb
|
@@ -134,7 +136,10 @@ files:
|
|
134
136
|
- db/migrate/20121204100803_add_link_text_to_rule_sets.rb
|
135
137
|
- db/migrate/20121009080219_create_questionnaires.rb
|
136
138
|
- db/migrate/20121009095600_create_answer_stores.rb
|
139
|
+
- db/migrate/20130315112847_create_qwester_presentations.rb
|
137
140
|
- db/migrate/20121008152106_create_answers.rb
|
141
|
+
- db/migrate/20130315113027_create_qwester_presentation_questionnaires.rb
|
142
|
+
- db/migrate/20130318102537_add_presentation_to_rule_sets.rb
|
138
143
|
- db/migrate/20121122141628_remove_questionnaire_from_answer.rb
|
139
144
|
- db/migrate/20121122130930_add_position_to_answers.rb
|
140
145
|
- db/migrate/20121126152146_add_rule_to_rule_sets.rb
|
@@ -153,6 +158,7 @@ files:
|
|
153
158
|
- lib/qwester/engine.rb
|
154
159
|
- lib/rails/actionpack/lib/action_controller/base.rb
|
155
160
|
- lib/qwester.rb
|
161
|
+
- lib/active_admin/admin/presentations.rb
|
156
162
|
- lib/active_admin/admin/rule_sets.rb
|
157
163
|
- lib/active_admin/admin/questions.rb
|
158
164
|
- lib/active_admin/admin/answers.rb
|
@@ -182,6 +188,7 @@ files:
|
|
182
188
|
- test/dummy/db/migrate/20130314103658_add_rule_to_rule_sets.qwester.rb
|
183
189
|
- test/dummy/db/migrate/20130314103661_add_link_text_to_rule_sets.qwester.rb
|
184
190
|
- test/dummy/db/migrate/20130314103652_add_button_image_to_questionnaires.qwester.rb
|
191
|
+
- test/dummy/db/migrate/20130318123540_add_presentation_to_rule_sets.qwester.rb
|
185
192
|
- test/dummy/db/migrate/20130314103645_create_questions.qwester.rb
|
186
193
|
- test/dummy/db/migrate/20130314103659_add_multi_answer_to_questions.qwester.rb
|
187
194
|
- test/dummy/db/migrate/20130314103648_create_questionnaires.qwester.rb
|
@@ -196,6 +203,8 @@ files:
|
|
196
203
|
- test/dummy/db/migrate/20130314103657_remove_questionnaire_from_answer.qwester.rb
|
197
204
|
- test/dummy/db/migrate/20130314103660_create_answer_stores_questionnaires.qwester.rb
|
198
205
|
- test/dummy/db/migrate/20130314103653_create_ckeditor_assets.qwester.rb
|
206
|
+
- test/dummy/db/migrate/20130315113347_create_qwester_presentation_questionnaires.qwester.rb
|
207
|
+
- test/dummy/db/migrate/20130315113346_create_qwester_presentations.qwester.rb
|
199
208
|
- test/dummy/db/migrate/20130314103647_create_rule_sets.qwester.rb
|
200
209
|
- test/dummy/db/migrate/20130314103650_add_questionnaire_id_to_answers.qwester.rb
|
201
210
|
- test/dummy/db/test.sqlite3
|
@@ -204,9 +213,15 @@ files:
|
|
204
213
|
- test/dummy/db/development.sqlite3
|
205
214
|
- test/dummy/db/schema.rb
|
206
215
|
- test/dummy/config.ru
|
216
|
+
- test/dummy/public/system/qwester/questionnaires/button_images/000/000/002/original/commend_button.gif
|
217
|
+
- test/dummy/public/system/qwester/questionnaires/button_images/000/000/002/link/commend_button.gif
|
218
|
+
- test/dummy/public/system/qwester/questionnaires/button_images/000/000/002/thumbnail/commend_button.gif
|
207
219
|
- test/dummy/public/system/qwester/questionnaires/button_images/000/000/001/original/NewGitGui.png
|
220
|
+
- test/dummy/public/system/qwester/questionnaires/button_images/000/000/001/original/commend_button.png
|
208
221
|
- test/dummy/public/system/qwester/questionnaires/button_images/000/000/001/link/NewGitGui.png
|
222
|
+
- test/dummy/public/system/qwester/questionnaires/button_images/000/000/001/link/commend_button.png
|
209
223
|
- test/dummy/public/system/qwester/questionnaires/button_images/000/000/001/thumbnail/NewGitGui.png
|
224
|
+
- test/dummy/public/system/qwester/questionnaires/button_images/000/000/001/thumbnail/commend_button.png
|
210
225
|
- test/dummy/public/422.html
|
211
226
|
- test/dummy/public/favicon.ico
|
212
227
|
- test/dummy/public/404.html
|
@@ -214,6 +229,8 @@ files:
|
|
214
229
|
- test/dummy/test/fixtures/qwester/questionnaires.yml
|
215
230
|
- test/dummy/test/fixtures/qwester/questions.yml
|
216
231
|
- test/dummy/test/fixtures/qwester/answers.yml
|
232
|
+
- test/dummy/test/fixtures/qwester/presentation_questionnaires.yml
|
233
|
+
- test/dummy/test/fixtures/qwester/presentations.yml
|
217
234
|
- test/dummy/test/fixtures/qwester/questionnaires_questions.yml
|
218
235
|
- test/dummy/test/fixtures/qwester/rule_sets.yml
|
219
236
|
- test/dummy/test/fixtures/qwester/answer_stores.yml
|
@@ -397,6 +414,7 @@ files:
|
|
397
414
|
- test/unit/qwester/rule_set_test.rb
|
398
415
|
- test/unit/qwester/questionnaires_question_test.rb
|
399
416
|
- test/unit/qwester/question_test.rb
|
417
|
+
- test/unit/qwester/presentation_test.rb
|
400
418
|
- test/unit/qwester/questionnaire_test.rb
|
401
419
|
- test/unit/qwester/answer_store_test.rb
|
402
420
|
- test/unit/qwester_test.rb
|
@@ -445,6 +463,7 @@ test_files:
|
|
445
463
|
- test/dummy/db/migrate/20130314103658_add_rule_to_rule_sets.qwester.rb
|
446
464
|
- test/dummy/db/migrate/20130314103661_add_link_text_to_rule_sets.qwester.rb
|
447
465
|
- test/dummy/db/migrate/20130314103652_add_button_image_to_questionnaires.qwester.rb
|
466
|
+
- test/dummy/db/migrate/20130318123540_add_presentation_to_rule_sets.qwester.rb
|
448
467
|
- test/dummy/db/migrate/20130314103645_create_questions.qwester.rb
|
449
468
|
- test/dummy/db/migrate/20130314103659_add_multi_answer_to_questions.qwester.rb
|
450
469
|
- test/dummy/db/migrate/20130314103648_create_questionnaires.qwester.rb
|
@@ -459,6 +478,8 @@ test_files:
|
|
459
478
|
- test/dummy/db/migrate/20130314103657_remove_questionnaire_from_answer.qwester.rb
|
460
479
|
- test/dummy/db/migrate/20130314103660_create_answer_stores_questionnaires.qwester.rb
|
461
480
|
- test/dummy/db/migrate/20130314103653_create_ckeditor_assets.qwester.rb
|
481
|
+
- test/dummy/db/migrate/20130315113347_create_qwester_presentation_questionnaires.qwester.rb
|
482
|
+
- test/dummy/db/migrate/20130315113346_create_qwester_presentations.qwester.rb
|
462
483
|
- test/dummy/db/migrate/20130314103647_create_rule_sets.qwester.rb
|
463
484
|
- test/dummy/db/migrate/20130314103650_add_questionnaire_id_to_answers.qwester.rb
|
464
485
|
- test/dummy/db/test.sqlite3
|
@@ -467,9 +488,15 @@ test_files:
|
|
467
488
|
- test/dummy/db/development.sqlite3
|
468
489
|
- test/dummy/db/schema.rb
|
469
490
|
- test/dummy/config.ru
|
491
|
+
- test/dummy/public/system/qwester/questionnaires/button_images/000/000/002/original/commend_button.gif
|
492
|
+
- test/dummy/public/system/qwester/questionnaires/button_images/000/000/002/link/commend_button.gif
|
493
|
+
- test/dummy/public/system/qwester/questionnaires/button_images/000/000/002/thumbnail/commend_button.gif
|
470
494
|
- test/dummy/public/system/qwester/questionnaires/button_images/000/000/001/original/NewGitGui.png
|
495
|
+
- test/dummy/public/system/qwester/questionnaires/button_images/000/000/001/original/commend_button.png
|
471
496
|
- test/dummy/public/system/qwester/questionnaires/button_images/000/000/001/link/NewGitGui.png
|
497
|
+
- test/dummy/public/system/qwester/questionnaires/button_images/000/000/001/link/commend_button.png
|
472
498
|
- test/dummy/public/system/qwester/questionnaires/button_images/000/000/001/thumbnail/NewGitGui.png
|
499
|
+
- test/dummy/public/system/qwester/questionnaires/button_images/000/000/001/thumbnail/commend_button.png
|
473
500
|
- test/dummy/public/422.html
|
474
501
|
- test/dummy/public/favicon.ico
|
475
502
|
- test/dummy/public/404.html
|
@@ -477,6 +504,8 @@ test_files:
|
|
477
504
|
- test/dummy/test/fixtures/qwester/questionnaires.yml
|
478
505
|
- test/dummy/test/fixtures/qwester/questions.yml
|
479
506
|
- test/dummy/test/fixtures/qwester/answers.yml
|
507
|
+
- test/dummy/test/fixtures/qwester/presentation_questionnaires.yml
|
508
|
+
- test/dummy/test/fixtures/qwester/presentations.yml
|
480
509
|
- test/dummy/test/fixtures/qwester/questionnaires_questions.yml
|
481
510
|
- test/dummy/test/fixtures/qwester/rule_sets.yml
|
482
511
|
- test/dummy/test/fixtures/qwester/answer_stores.yml
|
@@ -660,6 +689,7 @@ test_files:
|
|
660
689
|
- test/unit/qwester/rule_set_test.rb
|
661
690
|
- test/unit/qwester/questionnaires_question_test.rb
|
662
691
|
- test/unit/qwester/question_test.rb
|
692
|
+
- test/unit/qwester/presentation_test.rb
|
663
693
|
- test/unit/qwester/questionnaire_test.rb
|
664
694
|
- test/unit/qwester/answer_store_test.rb
|
665
695
|
- test/unit/qwester_test.rb
|