69 lines
1.8 KiB
Ruby
69 lines
1.8 KiB
Ruby
require 'spec_helper'
|
|
|
|
describe InvitedUser do
|
|
|
|
before(:each) do
|
|
UserMailer.deliveries.clear
|
|
end
|
|
|
|
it 'create an invitation from end-user' do
|
|
|
|
# create an end user
|
|
user1 = FactoryGirl.create(:user)
|
|
|
|
# create the invitation from the end-user
|
|
invited_user = FactoryGirl.create(:invited_user, :sender => user1)
|
|
|
|
invited_user.email.should_not be_nil
|
|
invited_user.sender.should_not be_nil
|
|
invited_user.note.should be_nil
|
|
invited_user.invited_by_administrator?.should be_false
|
|
end
|
|
|
|
it 'create an invitation from admin-user' do
|
|
|
|
# create an admin user
|
|
user1 = FactoryGirl.create(:admin)
|
|
|
|
# create the invitation from the end-user
|
|
invited_user = FactoryGirl.create(:invited_user, :sender => user1)
|
|
|
|
invited_user.email.should_not be_nil
|
|
invited_user.sender.should_not be_nil
|
|
invited_user.note.should be_nil
|
|
invited_user.invited_by_administrator?.should be_true
|
|
end
|
|
|
|
it 'create an invitation from no one in particular' do
|
|
# create the invitation from the end-user
|
|
invited_user = FactoryGirl.build(:invited_user)
|
|
|
|
invited_user.invited_by_administrator?.should be_true
|
|
end
|
|
|
|
it 'email is sent automatically by virtue of observer' do
|
|
# create an admin user
|
|
user1 = FactoryGirl.create(:admin)
|
|
|
|
# create the invitation from the end-user
|
|
invited_user = FactoryGirl.create(:invited_user, :sender => user1)
|
|
|
|
InvitedUserMailer.deliveries.length.should == 1
|
|
end
|
|
|
|
it 'accept an invitation' do
|
|
# create an admin user
|
|
user1 = FactoryGirl.create(:admin)
|
|
|
|
# create the invitation from the end-user
|
|
invited_user = FactoryGirl.create(:invited_user, :sender => user1)
|
|
|
|
invited_user.accepted.should be_false
|
|
|
|
invited_user.accept!
|
|
invited_user.save
|
|
|
|
invited_user.accepted.should be_true
|
|
end
|
|
end
|