def test_formatEdition_v2_reader_flag(self, testEdition, testWebpubItem): testEdition.items.append(testWebpubItem) formattedEdition = APIUtils.formatEdition(testEdition, reader='v2') assert len(formattedEdition['items']) == 2 assert formattedEdition['items'][0]['item_id'] == 'it2' assert formattedEdition['items'][0]['links'][0]['mediaType'] ==\ 'application/webpub+json' assert formattedEdition['items'][1]['links'][0]['flags']['reader'] is\ False
def test_formatEdition_w_records(self, testEdition, mocker): mockRecFormat = mocker.patch.object(APIUtils, 'formatRecord') mockRecFormat.side_effect = [{ 'id': 1, 'items': [] }, { 'id': 2, 'items': ['it1'] }] formattedEdition = APIUtils.formatEdition(testEdition, editionWorkTitle=None, editionWorkAuthors=None, records=['rec1', 'rec2'], showAll=False) assert len(formattedEdition['instances']) == 1 assert formattedEdition['instances'][0]['id'] == 2 assert formattedEdition.get('items', None) is None testItemDict = { 'id': 'it1', 'links': [{ 'link_id': 'li1', 'mediaType': 'application/epub+xml', 'url': 'testURI', 'flags': { 'test': True } }], 'rights': [{ 'source': 'test', 'license': 'testLicense', 'rightsStatement': 'testStatement' }], 'physical_location': { 'name': 'test' }, 'item_id': 'it1', 'location': 'test', 'source': 'hathitrust' } mockRecFormat.assert_has_calls([ mocker.call('rec1', {'testURI': testItemDict}), mocker.call('rec2', {'testURI': testItemDict}) ])
def test_formatEdition_no_records(self, testEdition): formattedEdition = APIUtils.formatEdition(testEdition) assert formattedEdition['work_uuid'] == 'uuid1' assert formattedEdition['edition_id'] == 'ed1' assert formattedEdition['publication_date'] == 2000 assert formattedEdition['links'][0]['link_id'] == 'co1' assert formattedEdition['links'][0]['mediaType'] == 'image/png' assert formattedEdition['links'][0]['url'] == 'testCover' assert formattedEdition['items'][0]['item_id'] == 'it1' assert formattedEdition['items'][0]['location'] == 'test' assert formattedEdition['items'][0]['links'][0]['link_id'] == 'li1' assert formattedEdition['items'][0]['links'][0]['mediaType'] ==\ 'application/epub+xml' assert formattedEdition['items'][0]['links'][0]['url'] == 'testURI' assert formattedEdition['items'][0]['links'][0]['flags']['test'] is\ True assert formattedEdition['items'][0]['rights'][0]['source'] == 'test' assert formattedEdition['items'][0]['rights'][0]['license'] ==\ 'testLicense' assert formattedEdition['items'][0]['rights'][0]['rightsStatement'] ==\ 'testStatement' assert formattedEdition.get('instances', None) is None