Size: a a a

Laravel для начинающих

2021 March 02

RK

Roman Kolosov in Laravel для начинающих
ты как по улице ходишь? строго по одной стороне дороги, даже если там лужа?
источник

Ж

Жалиль in Laravel для начинающих
Сидредин
Спасибо)
https://otus.ru/teacher/614/ во, здесь в той форме в которой видел:D
источник

С

Сидредин in Laravel для начинающих
👍👍
источник

AH

Andrey Helldar in Laravel для начинающих
Roman Kolosov
ну вот я думал чисто про методы когда ну прям круд и всё без доп логики
Условный кейс для круда: запись с названием города.
Что здесь можно тестировать?

А вот что:
1. Города с одинаковым именем в рамках разных стран;
2. Города с одинаковым именем в рамках одной страны (скажешь невозможно? Отнюдь! Город Чита. Я из города Чита Забайкальского края РФ. А ещё город Чита есть в республике Татарстан, который тоже является субъектом РФ);
3. Попытка создания города с одинаковым названием, но используя разную кодировку - "Чита", "Читa" (во втором примере "а" - латиница);
4. Попытка ввести китайский иероглиф, например;
5. Попытка ввести емоджи (Чит😄);
6. Попытка ввести каомоджи (¯\_(ツ)_/¯);
7. Попытка ввести пустую строку;
8. Попытка ввести слишком длинное название;
9. Попытка ввести SQL-инъекцию (Да, Лара под капотом защищает, но если какой-то умник решит выполнить DB::select('UPDATE cities SET (name) VALUES (' . $request->get('name') . ')'), то Лара не спасёт).
10. Попытка прокинуть файл в поле name при запросе обновления, например.

Если файл принимается, то нужно тестить mime типы - чтобы отсекал лишние файлы.

И это только то, что навскидку вспомнил.
источник

RK

Roman Kolosov in Laravel для начинающих
Andrey Helldar
Условный кейс для круда: запись с названием города.
Что здесь можно тестировать?

А вот что:
1. Города с одинаковым именем в рамках разных стран;
2. Города с одинаковым именем в рамках одной страны (скажешь невозможно? Отнюдь! Город Чита. Я из города Чита Забайкальского края РФ. А ещё город Чита есть в республике Татарстан, который тоже является субъектом РФ);
3. Попытка создания города с одинаковым названием, но используя разную кодировку - "Чита", "Читa" (во втором примере "а" - латиница);
4. Попытка ввести китайский иероглиф, например;
5. Попытка ввести емоджи (Чит😄);
6. Попытка ввести каомоджи (¯\_(ツ)_/¯);
7. Попытка ввести пустую строку;
8. Попытка ввести слишком длинное название;
9. Попытка ввести SQL-инъекцию (Да, Лара под капотом защищает, но если какой-то умник решит выполнить DB::select('UPDATE cities SET (name) VALUES (' . $request->get('name') . ')'), то Лара не спасёт).
10. Попытка прокинуть файл в поле name при запросе обновления, например.

Если файл принимается, то нужно тестить mime типы - чтобы отсекал лишние файлы.

И это только то, что навскидку вспомнил.
да ты прям то, о чем я и подумал расписал, как минимум валидацию проверить, и работу с входными парамметрами
источник

Ж

Жалиль in Laravel для начинающих
Andrey Helldar
Условный кейс для круда: запись с названием города.
Что здесь можно тестировать?

А вот что:
1. Города с одинаковым именем в рамках разных стран;
2. Города с одинаковым именем в рамках одной страны (скажешь невозможно? Отнюдь! Город Чита. Я из города Чита Забайкальского края РФ. А ещё город Чита есть в республике Татарстан, который тоже является субъектом РФ);
3. Попытка создания города с одинаковым названием, но используя разную кодировку - "Чита", "Читa" (во втором примере "а" - латиница);
4. Попытка ввести китайский иероглиф, например;
5. Попытка ввести емоджи (Чит😄);
6. Попытка ввести каомоджи (¯\_(ツ)_/¯);
7. Попытка ввести пустую строку;
8. Попытка ввести слишком длинное название;
9. Попытка ввести SQL-инъекцию (Да, Лара под капотом защищает, но если какой-то умник решит выполнить DB::select('UPDATE cities SET (name) VALUES (' . $request->get('name') . ')'), то Лара не спасёт).
10. Попытка прокинуть файл в поле name при запросе обновления, например.

Если файл принимается, то нужно тестить mime типы - чтобы отсекал лишние файлы.

И это только то, что навскидку вспомнил.
сколько стоят услуги менторства у вас?:D
источник

AH

Andrey Helldar in Laravel для начинающих
Жалиль
сколько стоят услуги менторства у вас?:D
Нисколько. Я им не занимаюсь :)
источник

Ж

Жалиль in Laravel для начинающих
эх(
источник

RK

Roman Kolosov in Laravel для начинающих
интересно как это работает
источник

RK

Roman Kolosov in Laravel для начинающих
пока писать не начнешь
источник

RK

Roman Kolosov in Laravel для начинающих
мысль на месте стоит бывает
источник

AH

Andrey Helldar in Laravel для начинающих
Roman Kolosov
интересно как это работает
Ты про тесты?
источник

RK

Roman Kolosov in Laravel для начинающих
Andrey Helldar
Ты про тесты?
да не, про то что я спросил зачем тесты на круд, и сам у себя в голове допер, так валидация, постоянно с ней возня как минимум
источник

AH

Andrey Helldar in Laravel для начинающих
Roman Kolosov
да не, про то что я спросил зачем тесты на круд, и сам у себя в голове допер, так валидация, постоянно с ней возня как минимум
А, понял
источник

RK

Roman Kolosov in Laravel для начинающих
а пока не напишешь, как будто на месте топчишься
источник

w

walfter in Laravel для начинающих
Roman Kolosov
а пока не напишешь, как будто на месте топчишься
Вопрос к уточке=)
источник

RK

Roman Kolosov in Laravel для начинающих
и вот сколько раз такое было сижу пол часа туплю, в чат написал, пока отвечают, уже сам решил, и пишу ответ
источник

RK

Roman Kolosov in Laravel для начинающих
очень страно
источник

w

walfter in Laravel для начинающих
Иногда правильно поставленный вопрос содержит половину ответа=)
источник

AH

Andrey Helldar in Laravel для начинающих
Roman Kolosov
да не, про то что я спросил зачем тесты на круд, и сам у себя в голове допер, так валидация, постоянно с ней возня как минимум
Ещё момент. Условно у тебя круд на всё те же названия городов.
Вот ты написал на них тесты, проверяющие совпадения и они отрабатывают как надо. Точнее, приложение работает как надо.
В какой-то момент ты рефакторишь участки кода и тесты заваливаются, хотя не должны. Тесты менять нельзя - они правильные. Значит, ищем проблему в коде, где что перерефачили)
источник