setupPond = (options, file, fileType = 'input') => {
        pond = create({
            ...options,
            allowMultiple: false,
            server
        });

        // Set up an uploaded file with FileOrigin set to INPUT
        pond.files = [{ source: file, options: { type: fileType } }];
        item = pond.getFiles()[0];
        // Mock the revert function on item so we can check it's been called
        item.revert = jest.fn();

        // enables draw loop, else it seems that filepond is hidden
        Object.defineProperty(pond.element, 'offsetParent', {
            get: jest.fn(() => 1)
        });

        return pond;
    }
These tests verify that revert calls are made to revert uploads on removal of
files from the UI in certain circumstances. Reverting of uploads is generally
handled directly through the REVERT_ITEM_PROCESSING action which is triggered
when clicking the 'x' button that appears to the right hand side of a successful
file upload entry in the filepond UI. There are some cases, such as with
failed chunked uploads, where it's necessary to call revert in response to
a REMOVE_ITEM action, triggered through the remove button the 'x' that appears
to the left hand side of a failed file upload entry. In these cases, the
REVERT_ITEM_PROCESSING action is not triggered and reverting is handled within
REMOVE_ITEM.