Skip to content

Help: Test Extension #26

@lsntdev

Description

@lsntdev

I would like to know how we can test the extension, seems that getPluginForTest wont get the extension, Here are the sample of test I was trying to do:

const expect = require('expect');
import React from 'react';
import ReactDOM from 'react-dom';

import { MyExtension } from '../extension/plugins/Extension';
import { getPluginForTest } from '../../MapStore2/web/client/plugins/__tests__/pluginsTestUtils';
import { createStateMocker } from '../../MapStore2/web/client/reducers/__tests__/reducersTestUtils';
import controlsReducer from '../../MapStore2/web/client/reducers/controls';

const DUMMY_ACTION = { type: "DUMMY_ACTION" };

describe('MyExtension', () => {
    const stateMocker = createStateMocker({ controls: controlsReducer });
    beforeEach((done) => {
        document.body.innerHTML = '<div id="container"></div>';
        setTimeout(done);
    });

    afterEach((done) => {
        ReactDOM.unmountComponentAtNode(document.getElementById("container"));
        document.body.innerHTML = '';
        setTimeout(done);
    });
    it('is open?', () => {
        const {Plugin, containers} = getPluginForTest(MyExtension, stateMocker(DUMMY_ACTION), {BurgerMenuPlugin: {}});
        expect(Object.keys(containers)).toContain('BurgerMenu');
        ReactDOM.render(<Plugin />, document.getElementById("container"));
        console.log(document.getElementById("container").innerHTML);
        expect(true).toBe(true);
    });
});

I got the following:

MyExtension
    ✖ is open?
20 07 2022 16:56:10.334:WARN [Chrome Headless 103.0.5060.134 (Linux x86_64)]: Disconnected (0 times), because no message in 30000 ms.
Chrome Headless 103.0.5060.134 (Linux x86_64) ERROR
  Disconnected, because no message in 30000 ms.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions