В моей модели есть метод, который обновляет несколько атрибутов в модели из удаленного ресурса.Я хочу проверить это с помощью Rspec, но не могу найти, как проверить, было ли создано или обновлено поле.
Какой-то псевдокод для объяснения вопроса
def update_from_remote
attributes = {}
fields.each_key do |field_name|
attributes[field_name] = scrape_from_remote field_name
end
update_attributes(attributes)
end
На самом деле этот код оченьболее сложный, но это только загромождает мой вопрос.create_from_remote
довольно похож, только то, что он не вызывает update_attributes
, а просто устанавливает их, а затем сохраняет объект.
Я хотел бы проверить это.То, что я хочу, это спецификация, которая проверяет, были ли поля обновлены или заполнены:
it 'should fill or set all local attributes on a new profile' do
#how to test if a list of fields were updated in the Database?
end
it 'should update all local attributes on an existing profile' do
#how to test if a list of fields were created in the Database?
end
Я использую mongoId, но AFAIK, который не должен иметь большого значения.