Проверка ассоциаций с огурцом

Я новичок в рельсах и огурцах, и я пытаюсь проверить следующий сценарий

Background:
  Given I have a Group named Group 1
  And I go to the list of groups
  And I have the following users records
    | name    | description | group_id |
    | user 1   |            | 1        |
    | user 2   |            | 1        |
  When I follow Details for Group 1

Scenario: List users from group
  Then I should see "user 1"
  And I should see "user 2"

Итак, в действии index моего контроллера пользователей я перечисляю всех пользователей из group_id, но я не знаю, как проверить это с помощью огурца, потому что каждый раз, когда я запускаю тест, моя группа с именем Group 1 имеет другой идентификатор.

Кто-нибудь знает, как это решить?

Спасибо


person thitemple    schedule 21.10.2009    source источник


Ответы (3)


Избегайте использования идентификатора, вместо этого укажите имя группы, так как оно никогда не изменится.

person Ryan Bigg    schedule 21.10.2009

Я бы обменял ID на имя_группы

Background:
  Given I have a group called "Ruby users"
  And I go to the list of groups
  And I have the following users records
    | name    | description | group_name |
    | "user 1"   |            | "Ruby users" |
    | "user 2"   |            | "Ruby users" |
  When I follow Details for Group "Ruby users"

Scenario: List users from group "Ruby users"
  Then I should see "user 1"
  And I should see "user 2"
person Jonas Söderström    schedule 27.10.2009

Итак, я нашел простой способ проверить ассоциации.

Если я скажу, что у меня есть только одна группа в сценарии, когда я нахожусь на этом этапе, я могу создать группу с определенным идентификатором, подобным этому

g = Group.create(:name => "Group 1", :id => 1)

Затем мне просто нужно проверить, что моя страница показывает пользователей с group_id = 1 и не показывает пользователей с group_id ‹> 1.

Как это просто !!!

person thitemple    schedule 02.11.2009