Sergey
где API замокано
Bogdan
а бек свой?
Sergey
моки
Bogdan
моки это просто статичные данные?
Sergey
моки
которые по функциональности дублируют Telegram API
Sergey
я просто не хочу реализовывать MTProto протокол
Sergey
можно сделать rest/ws api для телеги для nodejs есть модуль mtproto
Bogdan
зачем протоколы? самую простую реализацию если?
Sergey
к телеграм апи без реализации протокола не подключиться
Bogdan
я не про телеграм апи, я про апи свое
Sergey
я не хочу писать свою реализацию
Sergey
хочешь — напиши заюзаю
Sergey
вот список методов https://core.telegram.org/methods https://core.telegram.org/schema
Sergey
https://github.com/nebula-chat/chatengine https://github.com/aykutalparslan/Telegram-Server https://github.com/nebula-chat/chatengine
Oleg
ну, на картинки вроде не ругается. а куда копать/как гуглить проблему, когда ругается на импорт чего-то? конкретнее: есть папка с константами, есть редьюсер, который использует их, но jest не видит импортов вида import { a, b } from '../constants'; видит только если ткнуть import { a, b } from '../constants/actions/my.actions';
если я правильно понял, это проблема не джеста, а проекта в целом. то есть, вебпак как-то неправильно настроен, что реакт не видит импорты вида './constants', то есть index файлы с экспортами? такая же проблема появилась при билде, если присутствует код сплитинг. при этом мне тогда непонятно, почему в dev режиме такие импорты не вызывают ошибки.
ℜ𝔬𝔪𝔞𝔫
Всем привет. Кто работал с stripe? как мне правильно создать випадающий список стран? react-stripe-elements - не предоставляет такого элемента
Bogdan
когда в меню жму один и тот же пункт, компонент удаляется и снова монтируется, в чем может быть проблема? не помогает даже сравнение имени пути
Ivan
Тут ещё прикол в том, что берут саги, а используют put/call, которые по факту несут функционал санков
если бы в сагах были только take, put и call, они уже были бы хороши. тестирование эффектов — чистое наслаждение по сравнению с тестированием санок
Maria
Всем привет. Может, у кого-нибудь на примете есть календарь(range picker) без moment, чтобы можно туда интегрировать masked input?
Dmitry
может, ты просто не разобрался?
разобрался по этому говорю что они не нужны переубеди
Daniil
если бы в сагах были только take, put и call, они уже были бы хороши. тестирование эффектов — чистое наслаждение по сравнению с тестированием санок
Я пока для себя не нашёл серьёзного профита тестов эффектов, чаще всего это тесты ради тестов. е2е и снепшотов хватает.
Dmitry
апи мокаешь через extra и все
Dmitry
если бы в сагах были только take, put и call, они уже были бы хороши. тестирование эффектов — чистое наслаждение по сравнению с тестированием санок
в санках то тоже для эффектов просто по разному реализованы и читать и юзать. https://redux-observable.js.org/docs/basics/Epics.html это проще чем саги
Ivan
апи мокаешь через extra и все
если в санках я хожу в четыре разных апи, сколько разных моков нужно сделать? а в сагах ни одного
Dmitry
если в санках я хожу в четыре разных апи, сколько разных моков нужно сделать? а в сагах ни одного
что значит не одного ? Функции сами поймут что не нужно на реальный адрес идти и нужно вернуть что то ?
Dmitry
https://redux-saga.js.org/docs/advanced/Testing.html
Dmitry
зх а я вижу моки на апи странно да ?
Ivan
в санках то тоже для эффектов просто по разному реализованы и читать и юзать. https://redux-observable.js.org/docs/basics/Epics.html это проще чем саги
Ну если притащить observable, то скорее всего да, но может быть и нет. Observable — другая абстракция, с которой тоже нужно разбираться. Мне они не очень по душе, поэтому я взял саги
Dmitry
но согласись это понятнее и проще чем смотреть на саги и думать что где тригернется
Dmitry
а тут прозрел ?
Alex
Привет ребят Недавно устроился на работу Junior React Dev Кинули на проект работать над админкой в проекте Админка писалась до меня 3-мя девами на фреймворке DevExpress, девы ушли, админку кинули на меня Стоит таска (ну ты сделай там архитектуру нормальную, а то мы не можем ничего ни поменять, ни изменить) Проблема в том что это напичано на DevExpress и для того что бы что-то поменять, нужно потратить много времени на его изучения + его сложно кастомизировать Вопрос к знащим: писать на чистом Реакте почти с 0 или потратить время на изучения фреймоврка ? Вот такое должно получиться
Bogdan
а тут прозрел ?
не дуплю так же
Alex
проще с нуля бахнуть новую
Работал, видел этот фреймворк ?
Bogdan
Работал, видел этот фреймворк ?
нет, но я переписывал админку, и сделал вывод, проще с нуля сделать и быстрее
Artur
Ребята, как сделать стартовую загрузку. Поместил в componentDidMount() { this.props.fetchNewImage(0, Date.now(), Date(Date.now()).toString()); } Нужно чтобы стартовая загрузка была тольк один раз, а дальше подгрузка только по нажатию кнопки. Какие мысли как сделать загрузку стартовую один раз
Bogdan
ну не DevExpress там был
Alex
я понял мб кто-то что-то еще посоветует ?)
Sergey
Джуну ставить таску на архитектуру
Ivan
зх а я вижу моки на апи странно да ?
странно, почему я в своём коде не вижу моков? может быть это из-за того, что я документацию дочитал до конца?
Ivan
но согласись это понятнее и проще чем смотреть на саги и думать что где тригернется
до тех пор, пока не начинаешь мержить, траверсить, паковать и распаковывать потоки — да
R
народ, кто работал с картами, в частности d3 datamaps, подскажите плиз, есть ли там возможность скормить данные, в которых нет кодов стран стандарта ISO 3166-1, а лишь названия стран на немецком?
Ivan
вот ничего же не понятно
когда джуну дают задачу «а построй нам норм архитектуру» — ему же тоже ничего не понятно а стоит поднабрать опыта, поэтсамываться и вдруг внезапно ебац — понятно стало
Bogdan
тесты писать, это сильный буст по знаниям?
Ivan
call call try catch put put куда понятнее
я не говорю, что «это просто, пасаны, вы чё тупые что ли», оно да, не с первого раза доходит но я потратил несколько вечеров на набиваение руки и на чтение доки. я читаю эту сагу так: 1) call — сходи в localStorage за юзером 2) call — вытащи id (то, что функция по извлечению id называется normalizeUser — мой личный косяк, саги ни при чём) 3) call — сходи в бэк за юзером с id, который получили на п2 4) put — опубликуй сфетченного юзера если в п1-п4 что-то выбросило исключение — вытащи message из ошибки и опубликуй (put) его
Sergey
Вот хуже писать тесты это надо ещё придумать
Sergey
Саги не позволяют тестировать как черный ящик. В итоге тестируешь конкретную реализацию
Sergey
Я бы так не сказал
Пример выше показывает
Looch
Пример выше показывает
Человек их просто не правильно тестирует
Ivan
Вот хуже писать тесты это надо ещё придумать
Может быть я не совсем правильно понимаю концепцию тестирования саг. Твоё мнение, конечно же задело меня до глубины души. Чего ты пытаешься добиться? Покекать? Показать, что ты умный? Есть что критиковать — напиши по-людски: «парень, ты вот это и вот это не понял, вот тут и вот тут у тебя логическая ошибка, ты делаешь вот это и вот это неправильно. я считаю, вот так и вот так правильно». Это было бы полезно. А так получается «пиздец, ну ты и написал. отлично придумал, ещё что-нибудь потестируй. эффектор»
Looch
https://dev.to/phil/the-best-way-to-test-redux-sagas-4hib
Looch
спасибо, схоронил
так это не ты их тестировал step by step ? вообще я стал замечать что у девов вообще очень большие проблемы с пониманием тестирования
Ivan
Тесты которые ничего не делают
Отдельно хочу отметить: скриншот выше я приложил для того, чтобы проиллюстрировать господину @userbq201 отсутствие моков. Только и всего.
Anonymous
так это не ты их тестировал step by step ? вообще я стал замечать что у девов вообще очень большие проблемы с пониманием тестирования
чтото предьявлять по тестам когда пол индустрии вообще никак не аннотируют переменные и пишут в императивном стиле
Looch
чтото предьявлять по тестам когда пол индустрии вообще никак не аннотируют переменные и пишут в императивном стиле
ой ну это ты уже оч сильно глубоко загнул,я вообще о том что девам надо быть хоть бы недельку - две почитать теорию тестировнания, и тогда value у тестов будет намного больше
Dmitry
как ты убеждаешься что то что произошло то и должно было быть ? к примеру запись в стораж что юы проверить нужно сделать обьтект тестовый его записать получить и сравнить откуда это без моков ?
Anonymous
Евгений
Подскажите как прибиндиться через тернарник к className, классы объявлены как константы в stateless компоненте. Чёт не получается
Евгений