예제 #1
0
    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)
예제 #3
0
    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