Exemple #1
0
    def test_formatWorkOutput_multiple_works(self, mocker):
        mockFormat = mocker.patch.object(APIUtils, 'formatWork')
        mockFormat.side_effect = ['formattedWork1', 'formattedWork2']

        mockAddMeta = mocker.patch.object(APIUtils, 'addWorkMeta')

        testWorks = [
            mocker.MagicMock(uuid='uuid1'),
            mocker.MagicMock(uuid='uuid2')
        ]

        outWorks = APIUtils.formatWorkOutput(testWorks,
                                             [('uuid1', 1, 'highlight1'),
                                              ('uuid2', 2, 'highlight2'),
                                              ('uuid3', 3, 'highlight3')])

        assert outWorks == ['formattedWork1', 'formattedWork2']
        mockFormat.assert_has_calls([
            mocker.call(testWorks[0], 1, True, formats=None, reader=None),
            mocker.call(testWorks[1], 2, True, formats=None, reader=None)
        ])

        mockAddMeta.assert_has_calls([
            mocker.call('formattedWork1', highlights='highlight1'),
            mocker.call('formattedWork2', highlights='highlight2')
        ])
Exemple #2
0
    def test_formatWorkOutput_single_work(self, mocker):
        mockFormat = mocker.patch.object(APIUtils, 'formatWork')
        mockFormat.return_value = {
            'uuid':
            1,
            'editions': [{
                'id': 'ed1',
                'publication_date': None
            }, {
                'id': 'ed2',
                'publication_date': 2000
            }, {
                'id': 'ed3',
                'publication_date': 1900
            }]
        }

        outWork = APIUtils.formatWorkOutput('testWork', None)

        assert outWork['uuid'] == 1
        assert outWork['editions'][0]['id'] == 'ed3'
        assert outWork['editions'][2]['id'] == 'ed1'
        mockFormat.assert_called_once_with('testWork', None, True, reader=None)