Найти возможный отказ
Полезный тест отвечает на конкретный вопрос. Например: может ли один автор изменить статью другого? Проверка создаёт двух участников, публикует статью первого и пытается сохранить её от имени второго.
Если проверять только результат своей функции тем же алгоритмом, легко получить тест, который повторяет ошибку. Ожидание должно следовать из правила продукта: чужая статья сохраняет исходный текст.
Проверять границу
Серверная проверка прав полезнее скрытой кнопки в интерфейсе. Пользователь может самостоятельно отправить запрос. Поэтому защиту проверяют через тот же маршрут, который принимает изменение.
Для чтения достаточно подтвердить доступность статьи гостю. Для закладок требуется другой сценарий: два аккаунта должны видеть разные подборки.
Проверка должна помогать изменению
Нет необходимости писать постоянный тест для каждого цвета или простой подписи. Такие проверки быстро превращаются в обслуживание деталей, которые свободно меняются.
Зато защита владельца, повторное нажатие на лайк и потеря сеанса затрагивают реальные данные. Проверки этих правил дают понятную пользу и остаются нужными при смене оформления.