Skip to content

Latest commit

 

History

12 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Учебный проект написанный для изучения тестирования на Unittest и Pytest по программе Яндекс Практикума.

План тестирования:

Тесты на unittest для проекта YaNote

В файле test_routes.py:

  1. Главная страница доступна анонимному пользователю.
  2. Аутентифицированному пользователю доступна страница со списком заметок notes/, страница успешного добавления заметки done/, страница добавления новой заметки add/.
  3. Страницы отдельной заметки, удаления и редактирования заметки доступны только автору заметки. Если на эти страницы попытается зайти другой пользователь — вернётся ошибка 404.
  4. При попытке перейти на страницу списка заметок, страницу успешного добавления записи, страницу добавления заметки, отдельной заметки, редактирования или удаления заметки анонимный пользователь перенаправляется на страницу логина.
  5. Страницы регистрации пользователей, входа в учётную запись и выхода из неё доступны всем пользователям.

В файле test_content.py:

  1. Отдельная заметка передаётся на страницу со списком заметок в списке object_list в словаре context;
  2. В список заметок одного пользователя не попадают заметки другого пользователя;
  3. На страницы создания и редактирования заметки передаются формы.

В файле test_logic.py:

  1. Залогиненный пользователь может создать заметку, а анонимный — не может.
  2. Невозможно создать две заметки с одинаковым slug.
  3. Если при создании заметки не заполнен slug, то он формируется автоматически, с помощью функции pytils.translit.slugify.
  4. Пользователь может редактировать и удалять свои заметки, но не может редактировать или удалять чужие.

Тесты на pytest для проекта YaNews.

В файле test_routes.py:

  1. Главная страница доступна анонимному пользователю.
  2. Страница отдельной новости доступна анонимному пользователю.
  3. Страницы удаления и редактирования комментария доступны автору комментария.
  4. При попытке перейти на страницу редактирования или удаления комментария анонимный пользователь перенаправляется на страницу авторизации.
  5. Авторизованный пользователь не может зайти на страницы редактирования или удаления чужих комментариев (возвращается ошибка 404).
  6. Страницы регистрации пользователей, входа в учётную запись и выхода из неё доступны анонимным пользователям.

В файле test_content.py:

  1. Количество новостей на главной странице — не более 10.
  2. Новости отсортированы от самой свежей к самой старой. Свежие новости в начале списка.
  3. Комментарии на странице отдельной новости отсортированы в хронологическом порядке: старые в начале списка, новые — в конце.
  4. Анонимному пользователю недоступна форма для отправки комментария на странице отдельной новости, а авторизованному доступна.

В файле test_logic.py:

  1. Анонимный пользователь не может отправить комментарий.
  2. Авторизованный пользователь может отправить комментарий.
  3. Если комментарий содержит запрещённые слова, он не будет опубликован, а форма вернёт ошибку.
  4. Авторизованный пользователь может редактировать или удалять свои комментарии.
  5. Авторизованный пользователь не может редактировать или удалять чужие комментарии.

Для запуска тестов необходимо скачать данный репозиторий и исполнить действия:

  1. Создать и активировать виртуальное окружение; установить зависимости из файла requirements.txt;
  2. Запустить скрипт для run_tests.sh из корневой директории проекта:
bash run_tests.sh

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages