def post(self):
        post_data = loads(self.request.body)

        name = post_data.get('name')
        siglum = post_data.get('siglum')

        if not name or not siglum:
            self.set_status(422, 'Invalid political party')
            self.write_json({'message': 'Invalid Political Party'})
            return

        data = {
            'name': name,
            'siglum': siglum,
            'wikipedia': post_data.get('wikipedia'),
            'website': post_data.get('website'),
            'founded_date': post_data.get('founded_date'),
            'logo': post_data.get('logo'),
            'tse_number': post_data.get('tse_number'),
        }

        try:
            pp = PoliticalParty.add_political_party(self.db, data)
            self.set_status(201, 'Political Party created')
            self.set_header('Location', '%s' % pp.absolute_url(self))
            self.write_json(pp.to_dict())
        except IntegrityError:
            self.set_status(409, 'Political Party already exists')
            self.write_json({'message': 'Political Party already exists'})
    def test_can_add_political_party(self, logging_mock):
        data = {'name': 'Hevy Metal Party', 'siglum': 'HMP'}
        political_party = PoliticalParty.add_political_party(self.db, data)

        expect(political_party.name).to_equal('Hevy Metal Party')
        expect(political_party.siglum).to_equal('HMP')
        expect(logging_mock.mock_calls).to_include(call.debug(
            'Added political party: "%s"', 'HMP (Hevy Metal Party)'
        ))
示例#3
0
    def post(self):
        post_data = loads(self.request.body)

        name = post_data.get('name')
        siglum = post_data.get('siglum')

        if not name or not siglum:
            self.set_status(400, 'Invalid political party.')
            return

        data = {
            'name': name,
            'siglum': siglum,
            'wikipedia': post_data.get('wikipedia'),
            'website': post_data.get('website'),
            'founded_date': post_data.get('founded_date'),
            'logo': post_data.get('logo'),
            'tse_number': post_data.get('tse_number'),
        }

        political_party = PoliticalParty.add_political_party(self.db, data)
        self.write_json(political_party.to_dict())