Sha256: 6e5db7aca40cacff67b4a0d812b119ccf5481c13553295bafcc709a4d532661a

Contents?: true

Size: 1.21 KB

Versions: 4

Compression:

Stored size: 1.21 KB

Contents

import React from 'react';
import { each, range } from 'lodash';

import Tabs, { ScreenTab } from 'lanes/workspace/tabs';
import Instance    from 'lanes/screens/instance';

import { getTestScreen } from '../test-models';
import { Context, Snapshot } from '../test-utils';

const addTab = () =>
    new Instance({ definition: getTestScreen() });

describe('Workspace Navbar', () => {
    beforeEach(() => {
        each(range(0, 3), addTab);
    });

    it('renders and adds/removes tabs', () => {
        const options = new Context();
        const tabs = shallow(<Tabs />, options);
        expect(tabs.find('ScreenTab').length).toEqual(3);
        addTab();
        expect(tabs.find('ScreenTab').length).toEqual(4);
        Instance.displaying[2].remove();
        expect(tabs.find('ScreenTab').length).toEqual(3);
        expect(Snapshot(<Tabs />)).toMatchSnapshot();
    });

    it('renders a tab', () => {
        const options = new Context();
        const screen = Instance.displaying[2];
        const tab = shallow(<ScreenTab screen={screen} />, options);
        expect(tab).toHaveRendered(`Tab[title="${screen.title}"]`);
        expect(Snapshot(<ScreenTab screen={Instance.displaying[2]} />)).toMatchSnapshot();
    });
});

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
lanes-0.8.3 spec/client/screens/tabs.spec.jsx
lanes-0.8.2 spec/client/screens/tabs.spec.jsx
lanes-0.8.1 spec/client/screens/tabs.spec.jsx
lanes-0.8.0 spec/client/screens/tabs.spec.jsx