Огурец и ассоциации с выбранным списком - PullRequest
0 голосов
/ 20 февраля 2011

Я делаю интеграционное тестирование создания записей с Cucumber. Моя функция выглядит так:

When I go to the create album page      
And I fill in the following:
| Album Title               | Great Album   |
| Record Label              | Decca         |
| Catalog Number            | 778-B127      |
| Number of Discs           | 2             |
| Release Year              | 2002          |
| Internal Catalog Number   | CD 1662       |
And I press "Add Album"     
Then I should see "Great Album was added to the library."

Дело в том, Album belongs_to Composer. Эта связь создается / выбирается на странице нового альбома с использованием раскрывающегося списка, который заполняется записями существующих Composers. Какой лучший способ проверить эту ассоциацию? Я бы предпочел сделать это за столом с огурцами, но разве это невозможно? Нужно ли использовать фабрику (или другой механизм) для создания Composer, а затем добавить что-то вроде

| Composer                 | Tallis, Thomas|

к моему столу?

1 Ответ

2 голосов
/ 20 февраля 2011

я думаю, что вы могли бы выполнить то, что вы хотите, аналогичным образом

добавить эти шаги в ваш сценарий

Given composers "Tallis, Thomas" exist
When I go to the create album page
...
And I select "Tallis" from "album_composers"

шаг

Given /^composers "([^\']*)" exist$/ do |composers|
  composers.split(", ").each do |composer|
    Composer.find_or_create_by_name(composer)
    # alternatively, using factory_girl 
    # Factory(:composer, :name => composer)
  end
end
...