Правильный Rails способ написать RPSECs для проверки маршрутизации URL? - PullRequest
2 голосов
/ 26 августа 2011

У меня есть приложение с такой настройкой:

User (id)
Room (id, private (boolean)
RoomMember(user_id, room_id, banned (boolean)

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

  1. Если комната не является закрытой, пользователь может присоединиться к ней и перенаправить на правильный URL-адрес
  2. Если комната закрыта, пользователь перенаправляется на страницу ввода пароля
  3. Если пользователь был забанен, он перенаправляется на '/'

Каков правильный способ проверки этих пользовательских историй?

Спасибо

1 Ответ

1 голос
/ 26 августа 2011

Возможно следующее (с вашей модификацией):

describe "User Permissions" do

  it "should allow users to join public rooms" do
    user = User.new
    room = Room.new( private: false )

    get "[your_action]"
    response.should render_template( "path/to/room/show/template" )
  end

  it "should honor privacy" do
    user = User.new
    room = Room.new( private: true )

    get "[your_action]"
    response.should redirect_to( action: '[enter_password_action]' )
  end

  it "shouldn't allow banned users to enter rooms" do
    user = User.new( banned: true )
    room = Room.new

    get "[your_action]"
    response.should redirect_to( "/" )
  end

end

Подробнее о написании тестов Rspec Rails Controller можно найти здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...