Как оттестировать yandex map в Jest?

init(_mapWrapper) {
        let map = {};

        const setMapCenter = (_newCoords) => {
            map.setCenter(_newCoords);
            map.setZoom(yandexMapSettings.zoom);
        };

        const setPlaceMarks = (_placeMarks) => {
            map.geoObjects.get(0).removeAll();
            map.geoObjects.get(0).add(_placeMarks);
        };

        const setPlaceMarkObjects = (_placeMarks) => {
            const placeMarks = [];
            Iterable.each(_placeMarks, (_placeMark) => {
                placeMarks.push(computePlaceMark(_placeMark));
            });

            setPlaceMarks(placeMarks);
        };

        return new Promise((_resolve) => {
            Meta.addScript(src, () => {
                window.ymaps.ready(() => {
                    map = new window.ymaps.Map(_mapWrapper, yandexMapSettings);
                    map.geoObjects.add(new window.ymaps.Clusterer({
                        preset                        : 'islands#invertedVioletClusterIcons',
                        clusterDisableClickZoom       : true,
                        groupByCoordinates            : false,
                        clusterHideIconOnBalloonOpen  : false,
                        geoObjectHideIconOnBalloonOpen: false,
                    }));
                    _resolve(markRaw({
                        setMapCenter,
                        computePlaceMark,
                        setPlaceMarks,
                        setPlaceMarkObjects,
                    }));
                });
            });
        });
    },

addScript(_src, _callback = null) {
        let script = window.document.querySelector('script[src="' + _src + '"]');

        if (!script) {
            script     = window.document.createElement('script');
            script.src = _src;
            window.document.head.appendChild(script);
        }

        script.addEventListener('load', _callback);
    }

test('initialization', async () => {
        const mapWrapper = window.document.createElement('div');

        const yandexInterface = await YandexMap.init(window.document.body.appendChild(mapWrapper));
    });


На стороне клиента все хорошо отрабатывает. Но вот тесты... Почему то window.ymaps undefined, хотя должен устанавливаться при загрузке скрипта автоматом.

Может какие -то особенности тестирования в Jest? Может кто помочь?
  • Вопрос задан
  • 15 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Artezio Нижний Новгород
от 130 000 до 180 000 ₽
Artezio Москва
от 160 000 до 220 000 ₽
Sportrecs Москва
от 150 000 до 200 000 ₽
25 нояб. 2020, в 19:13
1000 руб./в час
25 нояб. 2020, в 18:41
10000 руб./за проект
25 нояб. 2020, в 18:34
100000 руб./за проект