Size: a a a

2019 December 04

🅰

🅰🅽🅳🆈 in Angular Kyiv
🙃
источник

K

Katerina in Angular Kyiv
Ребят, всем привет.
Есть кастомная директива, которую нужно потестить (на jest). В конструкторе директивы инициализируется private elRef: ElementRef. Используется он для того, что бы навесить на него eventListener.
Вопрос в том, как можно в тесте elRef замокать правильно? Гуглила, рабочий вариант не попался, может, кто-то сталкивался?
источник

M

Malikov in Angular Kyiv
Alex Okrushko
@makkaronis4e Спасибо, мне тоже понравился этот курс. К нему бы подвести - было бы в самый раз 🙂
к нему не надо подводить, там всё с нуля очень доступно
источник

AK

Artyom Krasnyuk in Angular Kyiv
Katerina
Ребят, всем привет.
Есть кастомная директива, которую нужно потестить (на jest). В конструкторе директивы инициализируется private elRef: ElementRef. Используется он для того, что бы навесить на него eventListener.
Вопрос в том, как можно в тесте elRef замокать правильно? Гуглила, рабочий вариант не попался, может, кто-то сталкивался?
Тестить при помощи замоканного хост компонента?
источник

K

Katerina in Angular Kyiv
Да, верно. Компонент замокала. А что с elRef делать, не знаю
источник

DG

Danil Gudz in Angular Kyiv
Katerina
Да, верно. Компонент замокала. А что с elRef делать, не знаю
задача протестировать мок? или компонент?
источник

DG

Danil Gudz in Angular Kyiv
компоненты TestBed'ом создают
источник

DG

Danil Gudz in Angular Kyiv
смотря конечно в чем задача, но я нигде не видел чтоб компонент тестили как класс
источник

DG

Danil Gudz in Angular Kyiv
на крайняк конечно теоретически можно сделать аля
new MyComponent({nativeElement: document.createElement('div')}),  но похоже на трешок
источник

K

Katerina in Angular Kyiv
задача протестировать работу самой кастомной директивы.
источник

B

Bohdan in Angular Kyiv
Ребята, есть возможность добавить компонент в самый верхний уровень и потом иметь доступ templareRef к этому через pipe/service/или что-то другое в любом месте проекта?
источник

G

George in Angular Kyiv
Katerina
Ребят, всем привет.
Есть кастомная директива, которую нужно потестить (на jest). В конструкторе директивы инициализируется private elRef: ElementRef. Используется он для того, что бы навесить на него eventListener.
Вопрос в том, как можно в тесте elRef замокать правильно? Гуглила, рабочий вариант не попался, может, кто-то сталкивался?
А вы что прямо так пишете elRef.nativeElement.addEventListener ?
источник

K

Katerina in Angular Kyiv
Конкретно в этом случае да. Нужно было повторить примитивную узконаправленную логику во многих частях приложения при наступлении определенной комбинации клавиш.  Реализовали директивой
источник

G

George in Angular Kyiv
У вас же ДИ - можно удобный мок/стаб подставить. А вообще для такого есть Renderer, HostListener
источник

AK

Artyom Krasnyuk in Angular Kyiv
Katerina
Да, верно. Компонент замокала. А что с elRef делать, не знаю
{ provide: ElementRef, useClass: MockElementRef }
class MockElementRef extends ElementRef {}  ?
но нужно ли это делать? имея хост компонент можно тестить поведение директивы
источник
2019 December 05

G

George in Angular Kyiv
Katerina
Конкретно в этом случае да. Нужно было повторить примитивную узконаправленную логику во многих частях приложения при наступлении определенной комбинации клавиш.  Реализовали директивой
Варианты могут быть такие:
1. создавать "руками" инстанс директивы и подставлять мок/стаб для ElementRef. Опять же руками дергать методы и следить за поведением или состоянием
2. С помощью TestBed cоздать хост компонент c директивой и через debugElement триггерить события и следить за поведением или сотоянием

Может кто-то еще что-то предложит
источник

S🥐

Sebastien 🥐 in Angular Kyiv
удали, пожалуйста
источник

S🥐

Sebastien 🥐 in Angular Kyiv
Постить можно только если к себе в команду зовешь, и только девелоперам
Описание вакансии: кратко своими словами, а подробности уже в лс обсуждать
источник

M

Malikov in Angular Kyiv
поменяю тогда
источник

M

Malikov in Angular Kyiv
всем привет!
меня зовут Денис, я девелопер и зову к себе в команду сильных разработчиков

что нам важно - это знание js и angular.
чем глубиннее, тем лучше

Описание вакансии:
это сайт для покупки транспортных билетов, наше прод веб-приложение - https://proizd.ua .
все на 8 ангуляре, есть SSR, в ближайшие месяцы этот дизайн плавно конвертнём в новый (автобусы уже полностью на нём -  https://bus.proizd.ua ).
плюс есть админ-панель, тоже на 8 ангуляре
плюс есть моб. приложения на Ionic 4

бекенд на node.js и java, микросервисы, есть возможность развиваться в этом направлении

команда совсем небольшая, поэтому всегда работа будет охватывать все области ангуляра, плюс работы много - планируем запускать новые сайты для стран снг
источник