Я пытаюсь написать тест rspec, который определит, имеют ли разные удостоверения одинаковые значения (проверьте уникальность для провайдера и идентификатора)
Вот тест, над которым я работаю. Я просто бросил в нее какую-то хрень, потому что отчаялся ...
context "no duplicate values should exist" do
identity1 = subject { Factory.create(:valid_identity) }
it { should be_valid }
identity2 = identity1
it { should validate_uniqueness_of(:id) }
it { should have(1).error_on(:id) }
it { should validate_uniqueness_of(:provider) }
it { should have(1).error_on(:provider) }
end
Чтобы дать вам представление о структуре, к которой я привык, я написал базовые тесты, подобные приведенному ниже, и, если возможно, я бы хотел придерживаться такой же структуры
context "when created without a name" do
subject { Brand.create Factory.build(:valid_brand, :name => nil).attributes }
it { should be_invalid }
it { should have(1).error_on(:name) }
specify { subject.errors[:name].should include "can't be blank" }
end
моя фабрика идентичности такова:
Factory.define :valid_identity, :class => Identity do |identity|
identity.participant {|participant| participant.association(:valid_participant) }
identity.provider "twitter"
identity.extid '11111'
end
Любая помощь приветствуется!