// Copyright 2015-2017 Parity Technologies (UK) Ltd. // This file is part of Parity. // Parity is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // Parity is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with Parity. If not, see . import { shallow } from 'enzyme'; import React from 'react'; import DappIcon from './'; const DAPPS_URL = 'http://test'; let api; let component; function createApi () { api = { dappsUrl: DAPPS_URL }; return api; } function render (props = {}) { if (!props.app) { props.app = {}; } component = shallow( , { context: { api: createApi() } } ); return component; } describe('ui/DappIcon', () => { it('renders defaults', () => { expect(render()).to.be.ok; }); it('adds specified className', () => { expect(render({ className: 'testClass' }).hasClass('testClass')).to.be.true; }); it('renders local apps with correct URL', () => { expect(render({ app: { id: 'test', type: 'local', iconUrl: 'test.img' } }).props().src).to.equal( `${DAPPS_URL}/test/test.img` ); }); it('renders other apps with correct URL', () => { expect(render({ app: { id: 'test', image: '/test.img' } }).props().src).to.equal( `/test.img` ); }); });