public
Fork of halorgium/mephisto
Description: A mirror of the mephisto code-base
Homepage: http://mephistoblog.com/
Clone URL: git://github.com/technoweenie/mephisto.git
Click here to lend your support to: mephisto and make a donation at www.pledgie.com !
technoweenie (author)
Fri Nov 23 18:44:05 -0800 2007
commit  3f0212ed4514a89bd3b4178cc308f488432254d9
tree    739d6694ecced79908785f713e6c2d3c046f3d56
parent  81dd998b82020e38841198e896bb84b700033cd7
mephisto / spec / models / membership_spec.rb
100644 39 lines (32 sloc) 1.69 kb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
require File.dirname(__FILE__) + '/../spec_helper'
 
describe Membership do
  define_models do
    model Site do
      stub :cupcake, :title => "Cupcake", :host => 'cupcake.com'
    end
    
    model User do
      stub :non_admin, :login => 'arthur', :admin => false
      stub :deleted, :login => "aaron", :admin => false, :deleted_at => current_time - 5.minutes
    end
    
    model Membership do
      stub :admin_on_default, :site => all_stubs(:site), :user => all_stubs(:user), :admin => true
      stub :admin_on_cupcake, :site => all_stubs(:cupcake_site), :user => all_stubs(:user), :admin => true
      stub :user_on_default, :site => all_stubs(:site), :user => all_stubs(:non_admin_user), :admin => false
      stub :deleted_on_default, :site => all_stubs(:site), :user => all_stubs(:deleted_user), :admin => false
    end
  end
  
  it "finds user sites" do
    users(:default).sites.sort_by { |s| s.title }.should == [sites(:cupcake), sites(:default)]
  end
  
  it "finds site members" do
    sites(:default).members.sort_by { |u| u.login }.should == [users(:non_admin), users(:default)]
    User.find_all_by_site(sites(:default)).sort_by { |u| u.login }.should == [users(:non_admin), users(:default)]
  end
 
  it "finds site admins" do
    sites(:default).admins.should == [users(:default)]
  end
  
  it "finds all users with deleted" do
    sites(:default).users_with_deleted.sort_by { |u| u.login }.should == [users(:deleted), users(:non_admin), users(:default)]
    User.find_all_by_site_with_deleted(sites(:default)).sort_by { |u| u.login }.should == [users(:deleted), users(:non_admin), users(:default)]
  end
end