require 'spec_helper' describe InvitationCode do it 'has a valid factory' do FactoryGirl.create(:invitation_code).should be_valid end it 'sets the count to a default value' do code = FactoryGirl.create(:invitation_code) code.count.should > 0 end describe '#use!' do it 'decrements the count of the code' do code = FactoryGirl.create(:invitation_code) expect{ code.use! }.to change(code, :count).by(-1) end end describe '.beta?' do it 'returns true if the invite code user is beta' do code = FactoryGirl.create(:invitation_code) Role.add_beta(code.user.person) code.user.should be_beta code.should be_beta end end describe '.default_inviter_or' do before do @old_account = AppConfig[:admin_account] AppConfig[:admin_account] = 'bob' end after do AppConfig[:admin_account] = @old_account end it 'grabs the set admin account for the pod...' do InvitationCode.default_inviter_or(alice).username.should == 'bob' end it '..or the given user' do AppConfig[:admin_account] = '' InvitationCode.default_inviter_or(alice).username.should == 'alice' end end end