mirror of
https://github.com/fspc/BikeShed-1.git
synced 2026-09-16 08:31:36 -04:00
git init
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
require 'spec_helper'
|
||||
|
||||
describe TeamMembership do
|
||||
describe 'membership validations' do
|
||||
let(:team) { create(:team) }
|
||||
let(:user) { create(:user) }
|
||||
|
||||
describe 'should require user and team' do
|
||||
it { should have(1).error_on(:user) }
|
||||
it { should have(1).error_on(:team) }
|
||||
end
|
||||
|
||||
it 'should only allow a user to be a member once' do
|
||||
TeamMembership.create(:user => user, :team => team)
|
||||
second = TeamMembership.create(:user => user, :team => team)
|
||||
second.should be_invalid
|
||||
end
|
||||
|
||||
it 'should not allow a captain to become a member' do
|
||||
membership = TeamMembership.create(:user => team.captain, :team => team)
|
||||
membership.should be_invalid
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,45 @@
|
||||
require 'spec_helper'
|
||||
|
||||
describe Team do
|
||||
it 'should have a size of 16 by default' do
|
||||
subject.max_members.should == 16
|
||||
end
|
||||
|
||||
describe 'validations' do
|
||||
it { should have(2).error_on(:name) }
|
||||
|
||||
context 'name' do
|
||||
it 'should require atleast 3 characters' do
|
||||
subject.name = 'hi'
|
||||
subject.should have(1).error_on(:name)
|
||||
end
|
||||
it 'should not allow blank' do
|
||||
subject.name = ''
|
||||
subject.should have(2).error_on(:name)
|
||||
end
|
||||
it 'should not allow duplicated' do
|
||||
team = FactoryGirl.create(:team)
|
||||
subject.name = team.name
|
||||
subject.should have(1).error_on(:name)
|
||||
end
|
||||
end
|
||||
|
||||
context 'max_members' do
|
||||
it 'should not let it be 0' do
|
||||
subject.max_members = 0
|
||||
subject.should have(1).error_on(:max_members)
|
||||
end
|
||||
|
||||
it 'should not let it be left empty' do
|
||||
subject.max_members = ''
|
||||
subject.should have(2).error_on(:max_members)
|
||||
end
|
||||
end
|
||||
|
||||
context 'captain' do
|
||||
it 'should require a captain' do
|
||||
subject.should have(1).error_on(:captain)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,29 @@
|
||||
require 'spec_helper'
|
||||
|
||||
describe User do
|
||||
describe 'validations' do
|
||||
it { should have(1).error_on(:first_name) }
|
||||
it { should have(1).error_on(:last_name) }
|
||||
end
|
||||
|
||||
# describe 'is a member of team' do
|
||||
# let(:user) { create(:user) }
|
||||
# let(:team) { create(:team) }
|
||||
# subject { user.is_a_member_of?(team) }
|
||||
|
||||
# context 'it not a member of the team' do
|
||||
# it { should be_false }
|
||||
# end
|
||||
|
||||
# context 'is a member of the team already' do
|
||||
# before { user.teams << team }
|
||||
# it { should be_true }
|
||||
# end
|
||||
|
||||
# context 'is the captain of the team' do
|
||||
# let(:team) { create(:team, :captain => user) }
|
||||
# it { should be_true }
|
||||
# end
|
||||
# end
|
||||
|
||||
end
|
||||
Reference in New Issue
Block a user