Я создал плагин для Redmine, и теперь у меня возникают трудности с написанием тестов для него. Я не использую для этого какую-либо структуру, такую как rspec, только стандартные утверждения, предоставляемые рельсами.
Сначала я провел свой тест, запустив файл через интерпретатор ruby. Это не загрузило фикстуры, поэтому я нашел альтернативу: я скопировал файл фикстур в ${redmine_root}/test/fixtures из ${redmine_root}/vendor/plugins/my_plugin/test/fixtures, запустил rake db:fixtures: загрузить, и теперь он загружает их.
Контроллер, который я тестирую, имеет разрешения, установленные в init.rb, и требует авторизации для некоторых действий.
Хотя я открываю сеанс как привилегированный пользователь (Админ), я не авторизован для выполнения действий в контроллере, как-то не загружаются разрешения в начале теста.
Я добавил разрешения вручную в roles.yml и убедился, что у пользователя есть соответствующая роль, но опять ничего. Плагин работает хорошо, я столкнулся с этими проблемами только при тестировании. Если я прокомментирую строку с помощью before_filter :authorize в моем контроллере, тест пройдет.
Я что-то упускаю? Разрешения из init.rb хранятся в другом месте или загружаются по-другому на этапе тестирования?