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:
Raphael 2010-08-10 11:02:04 -07:00
parent 4308f35b4b
commit aa4d428ab7
4 changed files with 38 additions and 2 deletions

View file

@ -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

View file

@ -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!

View file

@ -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

View file

@ -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