Описание дочерних объектов с помощью Cucumber / MongoDB - PullRequest
0 голосов
/ 17 февраля 2010

Хорошо, всего новичка в огурцах, так что, пожалуйста, будьте нежны В качестве обучения Ruby / Cucumber / MongoDB я создаю простой менеджер контактов. У меня есть модель Person (родитель) и я смог написать простой тест следующим образом:

Scenario: Show people
  Given the following person exists
 | firstname | lastname |
 | Bob      | Jones    |
  When I am on the home page
  Then I should see "Bob"

Пока все хорошо ... однако теперь я добавляю к нему массив дочерних объектов "Address" ... проблема в том, что вышеуказанный тест не пройден .... Я "думаю", это потому, что я не правильное описание моей таблицы в приведенном выше тесте, поскольку теперь она также имеет свойство адреса.

Мой вопрос: как правильно написать приведенный выше тест, если я хочу проверить дочерние объекты?

Мои два класса следуют:

class Person < MongoBase
  key :firstname, String, :required=>true
  key :lastname, String, :required=>true

  many :addresses
end

class Address <MongoBase

  key :person_id, ObjectId
  key :street, String
  key :city, String
  key :State, String
  key :Zip, String

  belongs_to :person
end

Заранее спасибо!

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

1 Ответ

0 голосов
/ 17 февраля 2010

Я думаю, что 1 000 000 долларов - это «что за неудача»? Кроме того - если вы используете MongoMapper, чем вы хотите явно установить Address в качестве EmbeddedDocument (включая MongoMapper :: EmbeddedDocument) - это, скорее всего, ваша ошибка, так как (я не думаю) вы можете использовать много: XXX с обычным MongoMapper :: Document.

...