// Copyright (C) The Arvados Authors. All rights reserved. // // SPDX-License-Identifier: AGPL-3.0 import React from "react"; import { configure, mount } from "enzyme"; import { FileThumbnail } from "./file-thumbnail"; import { CollectionFileType } from '../../models/collection-file'; import Adapter from 'enzyme-adapter-react-16'; import { Provider } from "react-redux"; import { combineReducers, createStore } from "redux"; configure({ adapter: new Adapter() }); let store; describe("<FileThumbnail />", () => { let file; beforeEach(() => { const initialAuthState = { config: { keepWebServiceUrl: 'http://example.com/', keepWebInlineServiceUrl: 'http://*.collections.example.com/', } } store = createStore(combineReducers({ auth: (state: any = initialAuthState, action: any) => state, })); file = { name: 'test-image.jpg', type: CollectionFileType.FILE, url: 'http://example.com/c=zzzzz-4zz18-0123456789abcde/t=v2/zzzzz-gj3su-0123456789abcde/xxxxxxtokenxxxxx/test-image.jpg', size: 300 }; }); it("renders file thumbnail with proper src", () => { const fileThumbnail = mount(<Provider store={store}><FileThumbnail file={file} /></Provider>); expect(fileThumbnail.html()).toBe('<img class="Component-thumbnail-1" alt="test-image.jpg" src="http://zzzzz-4zz18-0123456789abcde.collections.example.com/test-image.jpg?api_token=v2/zzzzz-gj3su-0123456789abcde/xxxxxxtokenxxxxx">'); }); });