Ejemplo n.º 1
0
    def test_get_media(self):
        user = User('testname', 'P@ssw0rd')
        db.session.add(user)
        db.session.commit()

        media1 = Media('testmedianame1', user.id, medium='film', consumed_state='started')
        media2 = Media('testmedianame2', user.id)
        db.session.add(media1)
        db.session.add(media2)
        db.session.commit()

        response = self.client.get('/user/testname/media')
        body = json.loads(response.get_data(as_text=True))

        self.assertEqual(response.status_code, 200)
        self.assertTrue(body['success'])
        self.assertListEqual(sorted(body['data'], key=lambda media: media['name']),
                             [media1.as_dict(), media2.as_dict()])
Ejemplo n.º 2
0
    def test_get_media_with_specific_medium_and_specific_consumed_state(self):
        user = User('testname', 'P@ssw0rd')
        db.session.add(user)
        db.session.commit()

        media1 = Media('testmedianame1', user.id, consumed_state='finished', medium='film')
        media2 = Media('testmedianame2', user.id, medium='other')
        media3 = Media('testmedianame3', user.id, consumed_state='not started', medium='film')
        media4 = Media('testmedianame4', user.id, medium='film')
        media5 = Media('testmedianame5', user.id, consumed_state='started')
        db.session.add(media1)
        db.session.add(media2)
        db.session.add(media3)
        db.session.add(media4)
        db.session.add(media5)
        db.session.commit()

        response = self.client.get('/user/testname/media?consumed-state=not-started&medium=film')
        body = json.loads(response.get_data(as_text=True))

        self.assertEqual(response.status_code, 200)
        self.assertTrue(body['success'])
        self.assertEqual(sorted(body['data'], key=lambda media: media['name']),
                         [media3.as_dict(), media4.as_dict()])
Ejemplo n.º 3
0
    def test_as_dict(self):
        user = User('testname', 'P@ssw0rd')
        db.session.add(user)
        db.session.commit()

        media = Media('testmedianame',
                      user.id,
                      medium='literature',
                      consumed_state='started',
                      description='some description',
                      order=5)
        db.session.add(media)
        db.session.commit()

        self.assertDictEqual(
            media.as_dict(), {
                'id': 1,
                'name': 'testmedianame',
                'medium': 'literature',
                'consumed_state': 'started',
                'description': 'some description',
                'order': 5
            })