@react_js

Страница 4451 из 5115
Borys
23.07.2018
06:52:41
нигде стэйтом не манипулирую как это написано в ероре

chep
23.07.2018
06:54:49
Если хочешь тестом зафиксировать, весь кусок верстки целиком (чтобы поймать изменения конечной верстки при обновлении пакета с компонентами, например) - mount. Если хочешь покрыть хитрожопые ветвления в рендере самого компонента - shallow. Но в случае, если используешь redux (или любое другое решение из этой серии), то придется чуть-чуть повозиться
уже наделал моков. Пробовал через маунт сначала, но там геморно с тем, что надо провайдер создавать, потмо в этом провайдере искать свой компонент и что-то делать. Переписал под shallow - стало легче. Просто вот например мне надо потестировать что в компоненте есть тогл, и если его переключать - меняется контент. Как я понимаю, для этого мне надо маунт, да?

Sergey
23.07.2018
07:00:39
А у тебя состояние, которое меняется тоглом, где лежит?

Google
Sergey
23.07.2018
07:04:02
Если в стейте компонента, то shallow хватит, если снаружи, то... тоже shallow хватит, если протестируешь, что компонент сообщает наверх об изменении тогла и покроешь оба состояния компонента с разным значением тогла

Arthur
23.07.2018
07:04:15
Ребят, так что насчёт передачи пропсов в редаксе ? Лучше коннектить все напрямую к стору, или можно получить все в родителя и из него уже передать нужные пропсы ?

Cenator
23.07.2018
07:04:29
напрямую

Arthur
23.07.2018
07:04:59
Ок, спасибо

Sergey
23.07.2018
07:11:28
Тогда должно работать, разве что его нужно насильно перерисовывать, через wrapper.update()

chep
23.07.2018
07:14:36
Тогда должно работать, разве что его нужно насильно перерисовывать, через wrapper.update()
ты имеешь ввиду, через shallow? А если нормально хочу брать тогл компонент и эмулировать клик и смотреть на состояние его бати после клика. То тут нужен маунт его бати, так?

Sergey
23.07.2018
07:15:16
Типа того

chep
23.07.2018
07:17:05
Типа того
спасиб. Еще тупой вопрос. Я просто взял и установил себе jest и enzyme. И смотрю гайд из доков, там все через to.equal, а у меня работает только toEqual. И то что нашел - как-то костыльно попрравляет, мол устанавливать кай и перереопределять методы . Ты не знашеь как можно адекватно включить синтаскис с to.equal ?

Sergey
23.07.2018
07:20:33
Ну это ты хочешь ассерты chai вроде, а у jest как раз toEqual, toMatchSnapshot и т. д.. Я не заморачивался над таким, если честно

chep
23.07.2018
07:25:40
Sergey
23.07.2018
07:30:57
Там после have обычно еще что-то есть, а сам по себе он для то, чтобы читалось проще, вроде

Google
chep
23.07.2018
07:32:23


Вот как этот to.have)

переделать

Sergey
23.07.2018
07:41:04
wrapper.find(Foo).length.toEqual(1)

Roman
23.07.2018
07:42:38
Вот как этот to.have)
доку открыть и посмотреть

а вообще компоненты и ui тестить это пиздец

тесты ради тестов

Max
23.07.2018
07:45:49
у тебя проект просто которым полторы калеки пользуется

если дешевле дать тебе леща и поставить багу в трекер то тесты не нужны, да

если сломанный компонент это финансовые потери неплохие то без тестов и прибить могут

Вячеслав
23.07.2018
07:46:48
а вообще компоненты и ui тестить это пиздец
ну как бы нет, допустим переписал ты логику переписал ты для нее тесты, а во вьюхе поменять забыл и на глаз не заметил

Roman
23.07.2018
07:48:49
только сколько времени надо потратить пока тесты напишешь для ui

для БЛ ок, вопросов нет

Max
23.07.2018
07:49:48
БЛ?

Roman
23.07.2018
07:50:00
БЛ?
бизнес-логика

Max
23.07.2018
07:50:22
только сколько времени надо потратить пока тесты напишешь для ui
тесты это всегда компромисс между стоимостью поддержки и необходимым SLA

и говорить что они не нужны — сорян, но просто показатель недальновидности и непонимания тобой процессов разработки

Айнур
23.07.2018
07:51:22
А доклад @sergeysova по поводу атомик подхода уже был? если да, есть запись?

Вячеслав
23.07.2018
07:52:36
только сколько времени надо потратить пока тесты напишешь для ui
не так уж и много, никтож не говорит что надо упарываться и делать 100% coverage и тестить switch'и

Yuriy
23.07.2018
07:52:43
Всем доброе утро, ребят, уже неделю завис на ошибке. Может кто запустить проект и глянуть почему при роуте вылетает ошибка. Я бы сюда скинул но она большая и скорее всего завязана на конфиге Вебпака. Для репро просто вручную перейти в /login

Google
Yuriy
23.07.2018
07:52:47
https://github.com/YRieznik/router4

Roman
23.07.2018
07:55:19
https://github.com/YRieznik/router4
а чо зависимости такие старые?

Yuriy
23.07.2018
07:56:23
а чо зависимости такие старые?
Нубас просто, только начал вникать

Dmitriy
23.07.2018
07:57:05
Народ, день добрый мб. кто подскажет. Я обнавляю react router 3 на 4. И столкнулся с такой проблемой: у меня почему то не работает второй компонент: <Route exact path="/register" component={FormRegisterAuth} /><Route path="/register/confirm" component={FormRegisterConfirm} />

/confirm как будто не видит

Roman
23.07.2018
07:57:24
Нубас просто, только начал вникать
ща посмотрю, что у тебя там

Anton
23.07.2018
07:58:04
так он первый видит и падает в него

Yuriy
23.07.2018
07:58:06
я уже думал мб в домейне дело, мб через Хост файл сделать кастомный

Anton
23.07.2018
07:58:11
используй свитч

Yuriy
23.07.2018
07:58:45
используй свитч
<Switch> <Route exact path="/" component={Home} /> <Route path="/login" component={Login}/> </Switch>

Victor
23.07.2018
07:59:07
Здравствуйте, коллеги! Как я могу отменить onChange после того, как в onKeyPress я узнал, что нажатая кнопка - точка?

Anton
23.07.2018
07:59:40
таргет

кей вэлью

Victor
23.07.2018
08:00:17
так суть в том, что в onChange нет keyCode, а в onKeyPress нет value

Admin
ERROR: S client not available

Айнур
23.07.2018
08:01:02
Записи нет
фигово =(

Kendr
23.07.2018
08:03:16
Здравствуйте, коллеги! Как я могу отменить onChange после того, как в onKeyPress я узнал, что нажатая кнопка - точка?
Оставь он Кей Пресс проверяй если это не точка — не вызывай функцию ссылка на которую в ончейндж

А, вэлью ?

Victor
23.07.2018
08:04:46
А, вэлью ?
именно, при вызове onKeyPress нет поля event.value

Google
Viacheslav
23.07.2018
08:06:30
подписывайся на onKeyDown и делай preventDefault() по keyCode

Kendr
23.07.2018
08:10:12
Здравствуйте, коллеги! Как я могу отменить onChange после того, как в onKeyPress я узнал, что нажатая кнопка - точка?
Эм, а вэлью онЧендж по регулярке нельзя прогнать? Если заканчивается на точку — значит ВСЁ

Victor
23.07.2018
08:12:21
Задача такая: написать десятичное число, и если в строке уже есть точка - отменить обработку. Кейс: ввведено "1222.34", каретка установлена в позиции после "12", нажимается кнопка "."

Я вот и хочу узнать, что если нажимается точка в любой позиции строки - проверять, если есть в строке уже точка - отмена обработки

Andrew
23.07.2018
08:19:24
тебе нужно два обработчика. onKeyUp, если в конце строки точка, и точек больше нет, то ничего не делать (ждем ввод), onBlur проверяем еще раз и фейлим если точка в конце.

если говорить про onChange, тебе не нужно там keyCode, тебе нужно просто провалидировать значение поля полностью

@osipovvictor

Kendr
23.07.2018
08:24:51
Ему надо приостановить действие как только нажали вторую точку

const dots = [...str].filter((el) => el === '.').length if (dots === 2)

Andrew
23.07.2018
08:25:23
так это два разных вопроса, разве нет? ?

Kendr
23.07.2018
08:25:42
Я хз

На онинпут

Andrew
23.07.2018
08:26:06
приостановить не возможно. можно в форму флаг поставить, что она не валидна, или стереть точку, что угодно. но onChange все равно сработает. и в нем нужно все равно сделать валидацию. потому что onChange мог быть стриггерен как угодно.

Victor
23.07.2018
08:28:29
спасибо всем, кто отозвался, есть годные идеи

Andrew
23.07.2018
08:28:37
фух.

пацаны, кажется мы справились

?

Kendr
23.07.2018
08:28:53
?

Sergey
23.07.2018
08:29:39
только будь готов к тому, что если ты будешь по нажатию изменять значение, передаваемое в value инпута, то у тебя каретка съезжать в конец будет через раз

Andrew
23.07.2018
08:47:03
поэтому делать это нужно по таймауту, либо onChange. но вообще, кажется каректу можно ставить на нужную позицию

Google
Max
23.07.2018
08:49:04
как человек прохававший кучу ебанины с подобными штуками рекомендую форматировать onBlur

Страница 4451 из 5115