qwester 0.0.7 → 0.0.8
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 +44 -1
- data/app/models/qwester/answer_store.rb +18 -3
- data/db/migrate/20130306114331_add_preserved_to_answer_stores.rb +5 -0
- data/lib/qwester/version.rb +6 -2
- data/lib/tasks/qwester_tasks.rake +7 -5
- data/test/dummy/db/development.sqlite3 +0 -0
- data/test/dummy/db/migrate/20130306115340_add_preserved_to_answer_stores.qwester.rb +6 -0
- data/test/dummy/db/schema.rb +3 -2
- data/test/dummy/db/test.sqlite3 +0 -0
- data/test/dummy/log/development.log +112 -0
- data/test/dummy/log/test.log +46439 -0
- data/test/unit/qwester/answer_store_test.rb +100 -9
- metadata +5 -2
@@ -5,6 +5,7 @@ module Qwester
|
|
5
5
|
|
6
6
|
def setup
|
7
7
|
@answer_store = AnswerStore.find(1)
|
8
|
+
@answer_store.update_attribute(:updated_at, 2.days.ago)
|
8
9
|
@answer = Answer.find(1)
|
9
10
|
@other_answer = Answer.find(2)
|
10
11
|
@questionnaire = Questionnaire.find(1)
|
@@ -33,17 +34,107 @@ module Qwester
|
|
33
34
|
assert_match /^\w*$/, answer_store.session_id
|
34
35
|
assert_equal 15, answer_store.session_id.length
|
35
36
|
end
|
36
|
-
|
37
|
-
def
|
38
|
-
|
37
|
+
|
38
|
+
def test_preserve
|
39
|
+
assert_difference 'AnswerStore.count', 1 do
|
40
|
+
@preserved = @answer_store.preserve
|
41
|
+
end
|
42
|
+
assert(@preserved.preserved?)
|
43
|
+
assert(!@answer_store.preserved?)
|
39
44
|
end
|
40
|
-
|
41
|
-
def
|
45
|
+
|
46
|
+
def test_preserved_is_last_created
|
47
|
+
test_preserve
|
48
|
+
assert_equal(AnswerStore.last, @preserved)
|
49
|
+
end
|
50
|
+
|
51
|
+
def test_preserved_answer_store_has_new_session_id
|
52
|
+
test_preserve
|
53
|
+
assert_not_equal(@answer_store.session_id, @preserved.session_id)
|
54
|
+
end
|
55
|
+
|
56
|
+
def test_preserved_has_same_objects_as_original
|
57
|
+
test_answer_store_accepts_objects
|
58
|
+
test_preserve
|
59
|
+
assert_equal(@answer_store.answers, @preserved.answers)
|
60
|
+
assert_equal(@answer_store.questionnaires, @preserved.questionnaires)
|
61
|
+
end
|
62
|
+
|
63
|
+
def test_changes_to_original_do_not_affect_preserved
|
64
|
+
test_preserve
|
65
|
+
assert_equal([], @preserved.answers)
|
66
|
+
assert_equal([], @preserved.questionnaires)
|
42
67
|
test_answer_store_accepts_objects
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
assert_equal(number, @answer_store.cope_index_sum)
|
68
|
+
@preserved.reload
|
69
|
+
assert_equal([], @preserved.answers)
|
70
|
+
assert_equal([], @preserved.questionnaires)
|
47
71
|
end
|
72
|
+
|
73
|
+
def test_destroy_unpreserved
|
74
|
+
assert_not_equal(0, AnswerStore.count)
|
75
|
+
AnswerStore.destroy_unpreserved
|
76
|
+
assert_equal(0, AnswerStore.count)
|
77
|
+
end
|
78
|
+
|
79
|
+
def test_destroy_unpreserved_does_not_remove_preserved
|
80
|
+
count = AnswerStore.count
|
81
|
+
test_preserve
|
82
|
+
assert_difference 'AnswerStore.count', - count do
|
83
|
+
AnswerStore.destroy_unpreserved
|
84
|
+
end
|
85
|
+
assert_equal(@preserved, AnswerStore.first)
|
86
|
+
end
|
87
|
+
|
88
|
+
def test_destroy_unpreserved_does_not_destroy_answers
|
89
|
+
test_answer_store_accepts_objects
|
90
|
+
assert_no_difference 'Answer.count' do
|
91
|
+
AnswerStore.destroy_unpreserved
|
92
|
+
end
|
93
|
+
end
|
94
|
+
|
95
|
+
def test_destroy_unpreserved_does_not_destroy_questionnaires
|
96
|
+
test_answer_store_accepts_objects
|
97
|
+
assert_no_difference 'Questionnaire.count' do
|
98
|
+
AnswerStore.destroy_unpreserved
|
99
|
+
end
|
100
|
+
end
|
101
|
+
|
102
|
+
def test_destroy_unpreserved_removes_entries_from_answers_join_table
|
103
|
+
test_answer_store_accepts_objects
|
104
|
+
assert_on_destroy_unpreserved_join_entries_removed_for 'answers'
|
105
|
+
end
|
106
|
+
|
107
|
+
def test_destroy_unpreserved_removes_entries_from_questionnaires_join_table
|
108
|
+
test_answer_store_accepts_objects
|
109
|
+
assert_on_destroy_unpreserved_join_entries_removed_for 'questionnaires'
|
110
|
+
end
|
111
|
+
|
112
|
+
def test_destroy_unpreserved_does_not_remove_recent_answer_stores
|
113
|
+
answer_store = AnswerStore.create
|
114
|
+
AnswerStore.destroy_unpreserved
|
115
|
+
assert_equal([answer_store], AnswerStore.all)
|
116
|
+
end
|
117
|
+
|
118
|
+
def test_restore_preserved
|
119
|
+
test_preserve
|
120
|
+
assert_difference 'AnswerStore.count' do
|
121
|
+
@restored = @preserved.restore
|
122
|
+
end
|
123
|
+
assert_equal(false, @restored.preserved?)
|
124
|
+
assert_not_equal(@preserved.session_id, @restored.session_id)
|
125
|
+
assert_equal(@preserved.answers, @restored.answers)
|
126
|
+
assert_equal(@preserved.questionnaires, @restored.questionnaires)
|
127
|
+
end
|
128
|
+
|
129
|
+
private
|
130
|
+
def assert_on_destroy_unpreserved_join_entries_removed_for(table)
|
131
|
+
join_table = @answer_store.association(table).join_table.name
|
132
|
+
sql = "SELECT count(*) FROM #{join_table}"
|
133
|
+
original_joins = AnswerStore.connection.select_value(sql)
|
134
|
+
AnswerStore.destroy_unpreserved
|
135
|
+
joins = AnswerStore.connection.select_value(sql)
|
136
|
+
assert_equal(original_joins - 1, joins)
|
137
|
+
end
|
138
|
+
|
48
139
|
end
|
49
140
|
end
|
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.0.8
|
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-
|
12
|
+
date: 2013-03-06 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|
@@ -138,6 +138,7 @@ files:
|
|
138
138
|
- db/migrate/20121008152106_create_answers.rb
|
139
139
|
- db/migrate/20121122141628_remove_questionnaire_from_answer.rb
|
140
140
|
- db/migrate/20121126152146_add_rule_to_rule_sets.rb
|
141
|
+
- db/migrate/20130306114331_add_preserved_to_answer_stores.rb
|
141
142
|
- db/migrate/20121203150555_add_multi_answer_to_questions.rb
|
142
143
|
- db/migrate/20121115114408_add_ref_to_questions.rb
|
143
144
|
- db/migrate/20121120092108_add_ids_to_questionnaires_questions.rb
|
@@ -181,6 +182,7 @@ files:
|
|
181
182
|
- test/dummy/db/migrate/20130111112933_add_ref_to_questions.qwester.rb
|
182
183
|
- test/dummy/db/migrate/20130111112939_add_link_text_to_rule_sets.qwester.rb
|
183
184
|
- test/dummy/db/migrate/20130111112927_create_questionnaires.qwester.rb
|
185
|
+
- test/dummy/db/migrate/20130306115340_add_preserved_to_answer_stores.qwester.rb
|
184
186
|
- test/dummy/db/migrate/20130111112930_change_answers_value_to_string.qwester.rb
|
185
187
|
- test/dummy/db/migrate/20130111112931_add_button_image_to_questionnaires.qwester.rb
|
186
188
|
- test/dummy/db/migrate/20130111112929_add_questionnaire_id_to_answers.qwester.rb
|
@@ -443,6 +445,7 @@ test_files:
|
|
443
445
|
- test/dummy/db/migrate/20130111112933_add_ref_to_questions.qwester.rb
|
444
446
|
- test/dummy/db/migrate/20130111112939_add_link_text_to_rule_sets.qwester.rb
|
445
447
|
- test/dummy/db/migrate/20130111112927_create_questionnaires.qwester.rb
|
448
|
+
- test/dummy/db/migrate/20130306115340_add_preserved_to_answer_stores.qwester.rb
|
446
449
|
- test/dummy/db/migrate/20130111112930_change_answers_value_to_string.qwester.rb
|
447
450
|
- test/dummy/db/migrate/20130111112931_add_button_image_to_questionnaires.qwester.rb
|
448
451
|
- test/dummy/db/migrate/20130111112929_add_questionnaire_id_to_answers.qwester.rb
|