Я новичок в огурце и в настоящее время застрял, пытаясь организовать / структурировать некоторые функции / сценарии.Я пытаюсь описать поведение пользователей, гостей и администраторов, использующих мой веб-сайт.Сайт в основном предназначен для создания частных и общедоступных списков задач.
И вот конкретные сценарии, которые я хочу протестировать:
- Зарегистрированные пользователи могут просматривать свои частные списки задач (но не кто-то другой).личный список дел других пользователей)
- Гости (анонимные пользователи) могут просматривать только общедоступные списки задач
- Администраторы могут просматривать все списки
- Управление списками задач
Прямо сейчас я собираюсь что-то вроде этого:
Feature: Managing Todo lists
In order to be more productive
As a user of the site
I want to be able to manage todo lists
Background:
Given a user named "user-one@email.com" with password "secret-one"
Given a user named "user-two@email.com" with password "secret-two"
Given an admin named "admin@email.com" with password "admin"
Scenario: user-one@email.com can view his own private todo lists
Scenario: user-one@email.com can not view user-two@email.com private todo lists
Scenario: admin@email.com can view user-one@email.com and user-two@email.com private todo lists
Scenario: user-one@email.com can create private todo lists
Scenario: user-one@email.com can delete todo lists they own
Scenario: admin@email.com can delete user-one@email todo list
Scenario: guests can view all public todo lists
Проблема, с которой я сталкиваюсь, заключается в настройке для каждого сценария.Например, в первом сценарии я должен предположить, что в систему вошел user-one@email.com
. В первом сценарии admin@email.com
я должен предположить, что администратор вошел в систему. В последнем сценарии я должен предположить, что никто не вошел в систему.
Итак, как мне управлять этими Given
с?Должен ли я просто добавить
Given user-one@email.com is logged in
к каждому сценарию?Или есть лучший способ структурировать все это?Пожалуйста помоги!Я уверен, что это очень распространенный шаблон, который нужно тестировать пользователям огурцов.