Added some specs for grammatical_gender (User model and Users controller).

This commit is contained in:
Paweł Wilk 2010-12-01 17:24:56 +01:00
parent 017251fef9
commit 1295417224
2 changed files with 41 additions and 1 deletions

View file

@ -11,7 +11,8 @@ describe UsersController do
let!(:old_password) { user.encrypted_password }
let!(:old_language) { user.language }
let!(:old_gender) { user.grammatical_gender }
before do
sign_in :user, user
end
@ -59,5 +60,28 @@ describe UsersController do
user.language.should_not == old_language
end
end
describe 'grammatical_gender' do
it 'should allow user to change his grammatical gender for some languages' do
user.language = 'pl'
user.grammatical_gender = 'masculine'
user.save
old_gender = user.grammatical_gender
put("update", :id => user.id, "user" => {"language" => "ru", "grammatical_gender" => "neuter"})
user.reload
user.grammatical_gender.should_not == old_gender
old_gender = user.grammatical_gender
put("update", :id => user.id, "user" => {"language" => "ru", "grammatical_gender" => ""})
user.reload
user.grammatical_gender.should == old_gender
put("update", :id => user.id, "user" => {"language" => "ru", "grammatical_gender" => "feminine"})
user.reload
old_gender = user.grammatical_gender
put("update", :id => user.id, "user" => {"language" => "en"})
user.reload
user.grammatical_gender.should == old_gender
end
end
end
end

View file

@ -167,6 +167,22 @@ describe User do
end
end
describe "of grammatical gender" do
after do
I18n.locale = :en
end
it "requires availability" do
user = Factory.build(:user, :grammatical_gender => 'some invalid string')
user.should_not be_valid
end
it "should save with empty grammatical gender if blank" do
I18n.locale = :pl
user = Factory(:user, :grammatical_gender => nil)
user.grammatical_gender.should == nil
end
end
end
describe ".build" do