def test_returns_ordered_map(self): answer = Answer( block_id="1", answer_id="2", group_id="5", group_instance=1, value=25, ) for i in range(0, 100): answer.answer_instance = i self.store.add(answer) last_instance = -1 self.assertEqual(len(self.store.answers), 100) mapped = self.store.map() for key, _ in mapped.items(): pos = key.find('_') instance = 0 if pos == -1 else int(key[pos + 1:]) self.assertGreater(instance, last_instance) last_instance = instance
def test_add_inserts_instances(self): answer_1 = Answer( answer_id='4', answer_instance=1, group_instance=1, value=25, ) self.store.add(answer_1) answer_1.answer_instance = 2 self.store.add(answer_1) answer_1.answer_instance = 3 self.store.add(answer_1) self.assertEqual(len(self.store.answers), 3)
def test_returns_ordered_map(self): questionnaire = { 'sections': [{ 'id': 'section1', 'groups': [{ 'id': 'group1', 'blocks': [{ 'id': 'block1', 'questions': [{ 'id': 'question1', 'answers': [{ 'id': 'answer1', 'type': 'TextArea' }] }] }] }] }] } schema = QuestionnaireSchema(questionnaire) answer = Answer( answer_id='answer1', group_instance_id='group-1', group_instance=1, value=25, ) for i in range(0, 100): answer.answer_instance = i self.store.add(answer) last_instance = -1 self.assertEqual(len(self.store.answers), 100) mapped = get_mapped_answers(schema, self.store, block_id='block1', group_instance=1, group_instance_id='group-1') for key, _ in mapped.items(): pos = key.find('_') instance = 0 if pos == -1 else int(key[pos + 1:]) self.assertGreater(instance, last_instance) last_instance = instance