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
Search Repo:
Click here to lend your support to: mephisto and make a donation at www.pledgie.com !
James Smith (author)
Thu May 08 10:50:32 -0700 2008
commit  0ca6f9a34bc9e23cd1f882426d29b887a59b6be9
tree    081d3688967b32533a3e020a7025f8b4ee44e096
parent  9072b487bf45c5e41e33c66b32d94aea84732d1b
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