Pavel
даже так лучше
Pavel
массивом можно получить данные
Pavel
В общем спасибо в любом случае)
Marat
сюда можно кидать резюме?
Anton
Народ, кто юзает http://telegraf.js.org/ Подскажите как писать юнит тесты. что то типа: it('must say hello when receive hi message', () => { bot.simulateMessage('hi') expect(bot.sended.messages[0]).to.be('hello') })
Anton
я мокал
Функцию send?
Cenator 🐈
Народ, кто юзает http://telegraf.js.org/ Подскажите как писать юнит тесты. что то типа: it('must say hello when receive hi message', () => { bot.simulateMessage('hi') expect(bot.sended.messages[0]).to.be('hello') })
зачем такое тестить? думаешь что он может внезапно отослать другое сообщение? а если это случится не в момент тестирования?
Anton
зачем такое тестить? думаешь что он может внезапно отослать другое сообщение? а если это случится не в момент тестирования?
не, это же пример. Там будет логика, ее и надо тестить. К примеру бот отправляет погоду. Тестировать думал так: Ввожу город, проверяю, что бот вызвал апи, получил данные отправил Вводу несуществующий город, проверяю, что бот сказал "сорян это не город"
Dmitry
Функцию send?
что использовал - не помню навскидку апи телеграфа
Cenator 🐈
так в телеге локацию можно отправлять, причем не только свою, а выбором на карте
Anton
придется видимо делать отдельно тестить функции, подсовывая им стаб контекста с заглушками в reply всяких
Dmitry
придется видимо делать отдельно тестить функции, подсовывая им стаб контекста с заглушками в reply всяких
так это же самая мякотка юнит тестов) тестировать нужно только то, что ты дернул - а окружение собирать из моков и палок)
Anton
так это же самая мякотка юнит тестов) тестировать нужно только то, что ты дернул - а окружение собирать из моков и палок)
Просто если есть такая конфига: bot.command('help', ctx => ctx.reply('Try send a sticker!')) bot.hears('hi', ctx => ctx.reply('Hey there!')) bot.hears(/buy/i, ctx => ctx.reply('Buy-buy!')) То могут сработать несколько листнеров сразу Плюс есть же еще мидлвари, которые тож могу внести свою лепту Ну вообще конечно это уже не юнит тестирование, функциональное, если все в сборе тестить
Dmitry
Просто если есть такая конфига: bot.command('help', ctx => ctx.reply('Try send a sticker!')) bot.hears('hi', ctx => ctx.reply('Hey there!')) bot.hears(/buy/i, ctx => ctx.reply('Buy-buy!')) То могут сработать несколько листнеров сразу Плюс есть же еще мидлвари, которые тож могу внести свою лепту Ну вообще конечно это уже не юнит тестирование, функциональное, если все в сборе тестить
нормальные юнит тесты - они тестируют же не файл/класс - а слой и его взаимодействие с другими слоями То есть по логике - ты мокаешь окружение, вносишь событие и смотришь как твой слой среагировал не него И у тебя тесты как по учебнику) тестируется чистая логика без технической хрени
Dmitry
да, я клевый
скорей кто создал для тебя окружение(зачеркнуто) да!)
Sergey
https://github.com/googlechromelabs/jsvu
Eugene
всем привет! Вопрос такой - девфолтные значения функций нормально работают на 6.11? у меня почему то, даже, если передаю значение, используется дефолтное, а не переданное значение
Andrey
Значит не передал ;)
Anonymous
А какое дефолтное? И какое входящее?
Eugene
Eugene
Eugene
перед вызовом метода в хэндле каунт равен 1, проверено
Eugene
даже если я в вызове указываю явно цифру, применяется дефолтное - 0
Eugene
(таймаут не виноват, если что)
Cenator 🐈
setTimeout(method, 3000, req, res, count)
Anonymous
Есть мнение, что если у метода больше 3х параметров, то метод пора рефакторить
сomorsiс
сomorsiс
у тебя каунт записывается в _, кстати
Eugene
и всем остальным
Anonymous
_ отличное имя. Многозначительное
сomorsiс
оно для игнора аргумента
Cenator 🐈
но не по спеке
Cenator 🐈
так что вполне может быть reference error
Cenator 🐈
хотя не вижу смысла в объявлении функции его прописывать
Eugene
хотя не вижу смысла в объявлении функции его прописывать
Там некст с роута передаётся на этом месте
Cenator 🐈
Eugene
чому бы не прописать его?
В этом методе не нужен Я не оправдываю, код нуждается в рефаке, разумеется Просто поясняю
Bogdan
если через pm2 запускать bash скрипт, что будет запускать бинарник - так же не получится сделать приложение отслеживаемым, верно?)
Bogdan
ну задача запустить скомпилированный бинарник, что бы pm2 отслеживал его статус хз как это сделать)
Oleg
если в фореграунде - то будет. хотя бы на уровне рестарта при краше
Oleg
зависит от бинарника и как его запускать
Bogdan
бинарник на го написан и скомпилирован на другой машине) Прошу помощи тогда как его запускать)))
Oleg
если бинарник запускается в фореграунде то pm2 сможет рестартовать его при краше
Denis
🎁🎅🏽 Санта существует! 10 и 11 декабря в Москве состоится JavaScript-конференция HolyJS 2017 Moscow и специально среди участников наших JavaScript-сообществ в Telegram мы проводим розыгрыш трёх билетов. 🎉 1. https://t.me/react_js 2. https://t.me/reactnative_ru 3. https://t.me/js_ru 4. https://t.me/angular_ru 5. https://t.me/nodejs_ru 👉 Но сначала пару слов, о самой конференции. HolyJS проводится уже не первый раз в Москве и собрала множество хороших отзывов. В этот раз, более 500 JavaScript-разработчиков соберутся под одной крышей для того, чтобы обсудить новости стремительно развивающейся экосистемы мира JavaScript, свежие инструменты, фреймворки, паттерны и сотни обновлений с экспертами со всего мира. 🎓 Доклады будут посвящены технологиям мира JavaScript: от фронтенда до бэкенда, от облачных технологий до десктоп-приложений. Все участники HolyJS смогут лично пообщаться со знаменитыми спикерами: — Отец JSON Douglas Crockford, человек, без которого невозможно представить современный JavaScript; — Lea Verou, создатель множества фреймворков и автор книг и статей по фронтенду и дизайну (http://lea.verou.me/); — Виталий Фридман, основатель и главный редактор Smashing Magazine; — Azat Mardan, автор множества книг, среди которых такие бестселлеры как "React Quickly", "Full Stack JavaScript", "Practical Node.js" и "Pro Express.js"; — Gerard Sans, Google Developer Expert, известный тренер и Angular-активист; — Minko Gechev, сооснователь Rhyme.com и автор нескольких книг по Angular. Программа конференции уже готова! Программа и регистрация: https://holyjs-moscow.ru/ 🎸 Теперь к розыгрышу подарочного билета на оба дня конференции. Для принятия участия достаточно заполнить форму ниже. Приём заявок завершится в четверг, 7 декабря, в 23:59. 👉 Выигранный билет нельзя обменять/продать или передать. В случае, если вы по какой-то причине не сможете воспользоваться билетом, сообщите организаторам - https://t.me/DenisIzmaylov 📮 Победитель будет выбран случайным образом. Ваши имя и фамилия будут опубликованы, в случае победы, все остальные ответы - конфиденциальны. 🚀 Готовы? Заполняйте: https://goo.gl/forms/iBGRAgqEWsv46WUt2
Через час заканчиваем :)
Oleg
это типа /path/to/file/app или как? не понял
да. и этот app не должен пытаться сам форкнуться в демона, а должен често бежать в фореграунде. иначе pm2 ему не помощник
Oleg
демона - т. е. процесс бегущий в бэкграунде - из него сделает сам pm2 непосредственно
Bogdan
добро) Спасибо
Igor
какой клиент для постгре для мака ок?
Dmitrii
pgcli
Igor
о точно, джетбрейнс ж выпускали - правда он платный, но над заценить
Anton
какой клиент для постгре для мака ок?
postico, хз какой еще клиент будет поддерживать даже тачбар
B
всем непривет
енот
Http://neprivet.ru
B
Http://neprivet.ru
не работает, кстати
енот
B
а, не, все ок
енот
я тоже так считаю
Michael 🌌
Да не, не работает
B
Да не, не работает
там ссылка кривая
B
neprivet.ru
Michael 🌌
А, точняк
Anonymous
пасаны, открыл вью приложение с вебпаком на локалхосте. с другого компа открывает и бекенд на ноде и само приложение, но вот в приложение отказывает запросы к серверу. т.е. у меня на компе в приложение данные с бека приходят, а на другом из моей локальной сети - нет. сталкивался кто с таким?
Anonymous
на серваке включен app.use(cors()))
Anonymous
сек. проверю
Anonymous
файрволл?
нет. отключил, также connection refused
Anonymous
а, проблема была в baseUrl Axios, он брал базовый как localhost, после указания моего IP, все норм заработало