Anurag's GitHub stats


Описание постановки задачи

Характеристика задачи

Написать генератор промо кодов и их проверку с помощью Django. Команда должна генерировать коды по выделенным группам, группой может быть номер или строка и сохранять результат в json файл из которого потом можно будет проверить код. Код должен быть уникальным из любого набора символов. Проект должен быть доступен на github с подробной документацией к запуску в README.md.

Например: У нас есть партнеры из агенства недвижимости для которых нужно создать отдельную группу промо кодов по которым они смогут получить плюшки на портале после их ввода.

Требование

Нужно создать комманду которая будет принимать два аргумента amount и group. Результатом выполнения должен стать json файл в котором будут коды сгруппированы по группам. Код должен быть уникальным и не повторяться в остальных уже созданных группах. Json файл не должен перезаписываться, а должен добовлять в существующий файл новые коды и группы.

Для проверки тз нужно написать тест с помощью того же Django который будет тестировать созданную команду. И проверять результирующий файл на соответствие.

После этого нужно написать команду которая будет проверять код в созданом json файле на существование и возвращать ответ.

Инструкция

Для запуска теста нужно выполнить команду python manage.py test.
Пример вывода:

System check identified no issues (0 silenced).
setUpTestData: Run once to set up non-modified data for all class methods.
setUp: Run once for every test method to setup clean data.
Json key qwert are equal test key qwert
Json key absad are equal test key absad
Json key group_1 are equal test key group_1
Json promo-code amount=12, group=qwert
Json promo-code amount=19, group=absad
Json promo-code amount=27, group=group_1
Json all promo-code amount=58 and all group count=3

Можно изменить тестовый набор данных для генерации Json-файла в переменных self.group и self.count функции test_custom_command. Для проверки на наличие промо-кода в Json-файле введите команду manage.py check_promo [промо-код].
Пример вывода для команды manage.py check_promo 5d/OXdR1JXLPqIescjrQ6w==:
Promo-code found! Group=absad


Anurag's GitHub stats Top Langs