RS, DG; Groups can now include other users, the user's first group is displayed by default, never use many without :in =>
This commit is contained in:
parent
4308f35b4b
commit
aa4d428ab7
4 changed files with 38 additions and 2 deletions
|
|
@ -20,7 +20,7 @@ class ApplicationController < ActionController::Base
|
|||
@groups = current_user.groups
|
||||
@friends = current_user.friends
|
||||
@latest_status_message = StatusMessage.newest_for(current_user)
|
||||
@group = params[:group] ? Group.first(:id => params[:group]) : Group.first
|
||||
@group = params[:group] ? current_user.groups.first(:id => params[:group]) : current_user.groups.first
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,9 @@ class Group
|
|||
|
||||
key :name, String
|
||||
|
||||
many :people, :class_name => 'Person'
|
||||
key :person_ids, Array
|
||||
|
||||
many :people, :in => :person_ids, :class_name => 'Person'
|
||||
belongs_to :user, :class_name => 'User'
|
||||
|
||||
timestamps!
|
||||
|
|
|
|||
|
|
@ -24,4 +24,15 @@ user2 = User.create( :email => "korth@tom.joindiaspora.com",
|
|||
:url => "http://tom.joindiaspora.com/",
|
||||
:profile => Profile.new( :first_name => "Evan",
|
||||
:last_name => "Korth")))
|
||||
|
||||
user2.person.save
|
||||
|
||||
# friending users
|
||||
user.friends << user2.person
|
||||
user.group(:name => "other dudes", :people => [user2.person])
|
||||
user.save
|
||||
|
||||
user2.friends << user.person
|
||||
user2.group(:name => "some dudes", :people => [user.person])
|
||||
user2.save
|
||||
|
||||
|
|
|
|||
|
|
@ -4,6 +4,8 @@ describe Group do
|
|||
before do
|
||||
@user = Factory.create(:user)
|
||||
@friend = Factory.create(:person)
|
||||
@user2 = Factory.create(:user)
|
||||
@friend_2 = Factory.create(:person)
|
||||
end
|
||||
|
||||
describe 'creation' do
|
||||
|
|
@ -11,6 +13,27 @@ describe Group do
|
|||
group = @user.group(:name => 'losers')
|
||||
group.name.should == "losers"
|
||||
end
|
||||
|
||||
it 'should be able to have people' do
|
||||
group = @user.group(:name => 'losers', :people => [@friend, @friend_2])
|
||||
group.people.size.should == 2
|
||||
end
|
||||
|
||||
it 'should be able to have other users' do
|
||||
group = @user.group(:name => 'losers', :people => [@user2.person])
|
||||
group.people.include?(@user.person).should be false
|
||||
group.people.include?(@user2.person).should be true
|
||||
group.people.size.should == 1
|
||||
end
|
||||
|
||||
it 'should be able to have users and people' do
|
||||
group = @user.group(:name => 'losers', :people => [@user2.person, @friend_2])
|
||||
group.people.include?(@user.person).should be false
|
||||
group.people.include?(@user2.person).should be true
|
||||
group.people.include?(@friend_2).should be true
|
||||
group.people.size.should == 2
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
describe 'querying' do
|
||||
|
|
|
|||
Loading…
Reference in a new issue