darkwoolf
Но там видишь, она не полная(статья)
darkwoolf
там только первая часть
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
ну заминусовали, потому что все это есть в офф доках
darkwoolf
https://www.youtube.com/watch?v=0J4YFmFQlLE&t=1s
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
http://www.yiiframework.com/doc-2.0/guide-README.html
darkwoolf
видел вот по которому делал
darkwoolf
вообще изи вроде
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
Изи, читай доки )
darkwoolf
без ошибок каких-то получилось
darkwoolf
Изи, читай доки )
Ну только это и остаеться)
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
так там ничего сложного
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
а минималка из коробки есть)
darkwoolf
а минималка из коробки есть)
Я просто не могу понять чего у автора видео получилось, а у меня не выводит
darkwoolf
хотя там пару движений по сути
Павел
https://github.com/darkwoolf10/new_yii_project
Упорству храбрых поем мы песню!
Jakhongir
Здравствуйте, можете в кое-в-чем подсказать, нужно выбирать период календарем (DatePicker - 2 поля начало,конец или DateRangePicker), период целое количество недель, то есть например, нельзя выбирать даты так, чтобы период получался 8 дней или 5, только так чтобы было кратно 7. Как это можно сделать? есть ли какие-то настройки у datepicker?
who are you
Делать свой пикер
SiZE
Там можно на js проверку написать я думаю
SiZE
В зависимости от выбранной даты оставлять нужные даты для выбора
Alexander
Либо не мучать людей и дать выбирать номер недели. Если в этой области знаний оперируют неделями, то и номер им должен быть известен
who are you
Задача слишком уникальная
who are you
Слишком частная
who are you
Либо ты делаешь на том что есть либо пилить свой механизм)))
Алимжан
Вопрос таков: кто как пишет тесты на валидацию форм? Т.е. на проверку все ли rules указаны правильно и ничего не забыто
Ivan
И как быть со сценариями
Отдельной моделью для формы как здесь http://www.elisdn.ru/blog/71/seo-service-on-yii2-user-profile
Алимжан
Отдельной моделью для формы как здесь http://www.elisdn.ru/blog/71/seo-service-on-yii2-user-profile
Дык я про формы и спрашиваю, а не про AR. И там ни слова про тестирование
Ivan
Дык я про формы и спрашиваю, а не про AR. И там ни слова про тестирование
В обычной модели так же как и в active record можно прописать rules и есть метод validate
Ivan
Я про написание тестов.
Ааа, я в первом предложении пропустил слово тесты и думаю потом че ты про тесты спрашиваешь. Есть книжка по yii2 называется "разработка веб-приложений в yii 2". Там все про тесты написано. Я тестил как в книжке приёмочным тестом.
Алимжан
Но пока у меня что-то вроде public function testName() { $this->specify('Name is required', function() { $this->form->name = null; verify($this->form->validate(['name']))->false(); }); $this->specify('Name length is > 3', function() { $this->form->name = '12'; verify($this->form->validate(['name']))->false(); }); $this->specify('Name length is < 255', function() { $this->form->name = $this->tester->getFaker()->text(1000); verify($this->form->validate(['name']))->false(); }); $this->specify('Name is ok', function() { $this->form->name = $this->tester->getFaker()->text; verify($this->form->validate(['name']))->true(); }); }
Алимжан
Это лучшее, что я смог придумать
Алимжан
Правда пробовал то же самое написать через дата провайдеры, но как-то не прижилось
Алимжан
Мне кажется странным проверять правильно ли в yii работает валидация.
Вообще-то проверяется не yii, а люди, которые могут править эти правила валидации. И в какой-то момент кто-то может удалить что-то вроде ['name', 'required']
Алимжан
Бизнес говорит что name обязательно, и ты потом спокоен об этом
Юрий
И вот уже name не обязательно
Юрий
И послезавтра вообще война и бизнеса нет
Алимжан
А потом кто-то может удалить тот говнокод что выше
Т.е. Вы за то, чтобы никогда не тестировать правила валидации?
Юрий
Стандартный функционал фреймворка покрыт тестами в должной мере. Если у вас команда разработки делает черный ящик для самих себя - это повод задуматься о компетенции CTO и этой команды разработки. Это к вопросу о том что кто-то может удалить правило валидации не обсудив для чего оно вводилось.
Юрий
А то ведь можно и проверки на авторизацию удалить и много чего еще, что обычными юнит тестами не покрыть из-за завязки на сторонние системы и что могут выявить только тестировщики в третий день луны
Юрий
Не пойму каким образом тут тестируется фреймворк
Тест выше в большей степени проверяет валидаторы yii как уже заметили
Алимжан
Тест выше в большей степени проверяет валидаторы yii как уже заметили
Идет проверка перечисления правил, а не самих валидаторов
Юрий
Это вроде проверяется приемочными, не?
Ну так и ваш кейс с удалением валидатора name ими покрывается?
Юрий
Вы делаете из функционального теста приемочный и думаете что это нормально. Не знаю что тут еще добавить.
Юрий
Перед созданием теста стоило бы ответить на вопрос - в каком случае name может не валидироваться. Ответа тут ровно два: 1) кривые валидаторы yii 2) некомпетентная команда разработки снесшая валидатор просто так
Юрий
Первое вы "перетестируете", а второе решается на другом уровне и не программистами вовсе
Юрий
Потому что сегодня они снесли валидатор не подумав, а завтра базу на проде
Юрий
Так же не подумав
Алимжан
Некомпетентная команда может снести что угодно, не имеет значения валидатор это или бизнес логика
Юрий
И вы защищаетесь от этого?
Алимжан
И вы защищаетесь от этого?
А разве тест не защитит от этого?
Юрий
А разве от некомпетентной команды что-то защитит весь бизнес в целом?
Юрий
А некомпетентная команда не может сломать тест?
Юрий
Напоминает анекдот про солонки. Читали?
Юрий
https://xakep.ru/2006/12/16/35784/
Алимжан
А некомпетентная команда не может сломать тест?
Ну как бы за тестами кто-то должен следить, код ревью и тд. Очень удобно при TDD. Написал тесты и потом прописал правила
Юрий
Интересно. То есть тесты у вас проходят код ревью, а валидаторы нет?
Юрий
При этом обосновать удаление валидатора сложнее чем удаление проверки на него в тесте.
Юрий
И вроде бы это решается (якобы) запретом на правки в тестах, вот только там такой же код который по требованиям бизнеса тоже придется править или городить версионность тестов
Юрий
Это очень интересная тема для холиваров на самом деле
Алимжан
Юрий
Но все сводится к людям исключительно - тем кто пишет код не думая, удаляет код не думая, проводит код ревью не думая, тестирует не думая
Юрий
Т.е. с код ревью можно и тесты не писать?
Речь была о том что заметить ошибки должны как в тесте так и в коде
Алимжан
Это очень интересная тема для холиваров на самом деле
Вот почему я и задал этот вопрос (самый первый)
Юрий
А у вас почему то тест святая истина в последней инстанции
Юрий
Хотя иногда приходилось наблюдать за кривыми тестами и теми последствиями к которым они привели
Алимжан
Речь была о том что заметить ошибки должны как в тесте так и в коде
Суть в том, что можно и не читать сам код если тесты нормальные. А читать тесты всегда легче. И если есть тесты, то код можно просто прогнать по всяким форматтерам и сниперам
Юрий
Уууу...
Алимжан
Т.е. не вдаваться в суть кода
Юрий
Надо бы серьезно обсудить будет вопрос "TDD головного мозга и к чему он в итоге приведет"
Юрий
Потому что вы сначала будете не вдаваться в код, а потом в код тестов