예제 #1
0
    def test_serialize_list_of_subfuncoes(self):
        subfuncao_1 = mommy.make('Subfuncao', desc='Turismo')
        subfuncao_2 = mommy.make('Subfuncao', desc='Educação Infantil')
        subfuncoes = [subfuncao_1, subfuncao_2]
        expected = [
            dict(id=subfuncao.id, desc=subfuncao.desc, selecionado=False)
            for subfuncao in subfuncoes
        ]

        # selected funcao
        subfuncao_3 = mommy.make('Subfuncao', desc='Selected Function')
        expected.append(
            dict(id=subfuncao_3.id, desc=subfuncao_3.desc, selecionado=True))
        expected.sort(key=lambda s: s['desc'])

        mommy.make(Execucao,
                   subfuncao=cycle([subfuncao_1, subfuncao_2, subfuncao_3]),
                   _quantity=3)
        queryset = Execucao.objects.all()

        # not expected
        mommy.make('Subfuncao')

        serialized = GeologiaSerializer(queryset,
                                        subfuncao_id=subfuncao_3.id).data

        assert expected == serialized.get('subfuncoes')
    def test_serialize_list_of_gnds(self):
        gnd_1 = mommy.make('GndGeologia',  desc='Consultoria',
                           slug='consulting')
        gnd_2 = mommy.make('GndGeologia',  desc='Custeio operacional',
                           slug='operational')
        gnds = [gnd_1, gnd_2]
        expected = [dict(slug=gnd.slug, desc=gnd.desc) for gnd in gnds]

        queryset = Execucao.objects.all()
        serialized = GeologiaSerializer(queryset).data

        assert expected == serialized.get('gnds')