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()])
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()])
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 })