14
14
class TestCase(test.TestCase):
16
16
initial_fields.run()
19
class SimpleTextField(TestCase):
22
super(SimpleTextField, self).setUp()
23
self.field = models.FieldType.objects.get(name='Simple text')
25
def test_simpleText(self):
27
Validate when field is not required
29
data = {'label': 'Test label',
33
q = models.Question.objects.create(**data)
34
form = get_form_from_questions('Test', q)
35
instance = form(data={'q_%d' % q.pk: 'hello'})
36
self.assertTrue(instance.is_valid())
38
self.assertEqual(models.Answer.objects.count(), 1)
40
def test_simpleText_required(self):
42
Validate required field
44
data = {'label': 'Test label',
47
q = models.Question.objects.create(**data)
48
form = get_form_from_questions('Test', q,)
49
instance = form(data={'q_%d' % q.pk: None})
50
self.assertFalse(instance.is_valid())
51
self.assertTrue(instance.errors.has_key('q_%d' % q.pk))
54
instance = form(data={'q_%d' % q.pk: 'hello'})
55
self.assertTrue(instance.is_valid())
57
self.assertEqual(models.Answer.objects.count(), 1)
59
class CheckboxField(TestCase):
63
self.field = models.FieldType.objects.get(name='Checkbox')
65
def test_default(self):
67
Validate required field
69
data = {'label': 'Test label',
72
q = models.Question.objects.create(**data)
73
form = get_form_from_questions('Test', q,)
74
instance = form(data={'q_%d' % q.pk: None})
75
self.assertFalse(instance.is_valid())
76
self.assertTrue(instance.errors.has_key('q_%d' % q.pk))
79
instance = form(data={'q_%d' % q.pk: True})
80
self.assertTrue(instance.is_valid())
82
self.assertEqual(models.Answer.objects.count(), 1)
86
Validate when field is not required
88
data = {'label': 'Test label',
92
q = models.Question.objects.create(**data)
93
form = get_form_from_questions('Test', q)
94
instance = form(data={'q_%d' % q.pk: None})
95
self.assertTrue(instance.is_valid())
97
self.assertEqual(models.Answer.objects.count(), 1)
100
18
class SurveyFormTest(TestCase):
237
155
self.assertEqual(rsp.status_code, 302)
240
class ExportCSVTest(TestCase):
158
class ExportCSVView(ViewTestCase):
164
super(ExportCSVView, self).setUp()
165
answer = models.Answer.objects.create(question=self.question, answer=str(True))
166
models.Responder.objects.create(user=self.user, answer=answer)
168
def test_access(self):
170
Test that only staff can access this view
172
raise NotImplementedError
242
174
def test_run(self):
175
rsp = self.client.get(reverse('export_survey_data', kwargs={'survey_id': self.survey.pk}))
176
print rsp.status_code
243
178
raise NotImplementedError
180
###########################
181
# Testing boundled fields #
182
###########################
184
class SimpleTextField(TestCase):
187
super(SimpleTextField, self).setUp()
188
self.field = models.FieldType.objects.get(name='Simple text')
190
def test_simpleText(self):
192
Validate when field is not required
194
data = {'label': 'Test label',
198
q = models.Question.objects.create(**data)
199
form = get_form_from_questions('Test', q)
200
instance = form(data={'q_%d' % q.pk: 'hello'})
201
self.assertTrue(instance.is_valid())
203
self.assertEqual(models.Answer.objects.count(), 1)
205
def test_simpleText_required(self):
207
Validate required field
209
data = {'label': 'Test label',
212
q = models.Question.objects.create(**data)
213
form = get_form_from_questions('Test', q,)
214
instance = form(data={'q_%d' % q.pk: None})
215
self.assertFalse(instance.is_valid())
216
self.assertTrue(instance.errors.has_key('q_%d' % q.pk))
219
instance = form(data={'q_%d' % q.pk: 'hello'})
220
self.assertTrue(instance.is_valid())
222
self.assertEqual(models.Answer.objects.count(), 1)
224
class CheckboxField(TestCase):
228
self.field = models.FieldType.objects.get(name='Checkbox')
230
def test_default(self):
232
Validate required field
234
data = {'label': 'Test label',
237
q = models.Question.objects.create(**data)
238
form = get_form_from_questions('Test', q,)
239
instance = form(data={'q_%d' % q.pk: None})
240
self.assertFalse(instance.is_valid())
241
self.assertTrue(instance.errors.has_key('q_%d' % q.pk))
244
instance = form(data={'q_%d' % q.pk: True})
245
self.assertTrue(instance.is_valid())
247
self.assertEqual(models.Answer.objects.count(), 1)
249
def test_empty(self):
251
Validate when field is not required
253
data = {'label': 'Test label',
257
q = models.Question.objects.create(**data)
258
form = get_form_from_questions('Test', q)
259
instance = form(data={'q_%d' % q.pk: None})
260
self.assertTrue(instance.is_valid())
262
self.assertEqual(models.Answer.objects.count(), 1)
265
class FoodPreferenceSelectField(TestCase):
268
super(FoodPreferenceSelectField, self).setUp()
269
self.field = models.FieldType.objects.get(name='FoodPreferenceSelect')
271
def test_default(self):
272
data = {'label': 'Food prefs',
274
q = models.Question.objects.create(**data)
275
form = get_form_from_questions('Test', q,)
276
instance = form(data={'q_%d' % q.pk: 'Vega+Fish'})
277
self.assertTrue(instance.is_valid())
279
self.assertEqual(models.Answer.objects.count(), 1)