Я использую ruby 1.9.2 и rails 3.2.2.
У меня есть модель «домен» (domain.rb):
class Domain < ActiveRecord::Base
attr_accessible :url
belongs_to :user
VALID_DOMAIN_REGEX = /^[a-z0-9\-\.]+\.[a-z]{2,}$/i
validates :url, presence:true,
format: { with: VALID_DOMAIN_REGEX },
uniqueness: { case_sensitive: false }
end
И тест, утверждающий, что дубликат домена не должен быть действительным:
require 'spec_helper'
describe Domain do
before do
@domain = FactoryGirl.create(:domain)
end
subject { @domain }
describe "when domain url is already taken" do
before do
domain_with_same_url = @domain.dup
domain_with_same_url.url = @domain.url.upcase
domain_with_same_url.save
end
it { should_not be_valid }
end
end
Проверка не проходит:
1) Домен, когда URL домена уже занят
Ошибка / Ошибка: это {must_not be_valid}
ожидаемый действительный? вернуть ложь, получил истину
# ./spec/models/domain_spec.rb:31:in `блок (3 уровня) в '