Merge branch 'master' of github.com:diaspora/diaspora
This commit is contained in:
commit
662071be08
2 changed files with 64 additions and 72 deletions
|
|
@ -35,11 +35,6 @@ module Diaspora
|
|||
aspects.detect{|x| x.id == id }
|
||||
end
|
||||
|
||||
def album_by_id( id )
|
||||
id = id.to_id
|
||||
albums.detect{|x| x.id == id }
|
||||
end
|
||||
|
||||
def aspects_with_post( id )
|
||||
self.aspects.find_all_by_post_ids( id.to_id )
|
||||
end
|
||||
|
|
|
|||
|
|
@ -7,83 +7,80 @@
|
|||
require File.dirname(__FILE__) + '/../../spec_helper'
|
||||
|
||||
describe User do
|
||||
before do
|
||||
@user = Factory.create(:user)
|
||||
@aspect = @user.aspect(:name => 'heroes')
|
||||
@aspect2 = @user.aspect(:name => 'losers')
|
||||
let(:user) { Factory(:user) }
|
||||
|
||||
@user2 = Factory.create :user
|
||||
@user2_aspect = @user2.aspect(:name => 'dudes')
|
||||
let(:user2) { Factory(:user) }
|
||||
let(:user3) { Factory(:user) }
|
||||
let(:user4) { Factory(:user) }
|
||||
|
||||
friend_users(@user, @aspect, @user2, @user2_aspect)
|
||||
let!(:aspect) { user.aspect(:name => 'heroes') }
|
||||
let!(:aspect2) { user.aspect(:name => 'losers') }
|
||||
|
||||
@user3 = Factory.create :user
|
||||
@user3_aspect = @user3.aspect(:name => 'dudes')
|
||||
friend_users(@user, @aspect2, @user3, @user3_aspect)
|
||||
let!(:user2_aspect) { user2.aspect(:name => 'dudes') }
|
||||
let!(:user3_aspect) { user3.aspect(:name => 'dudes') }
|
||||
let!(:user4_aspect) { user4.aspect(:name => 'dudes') }
|
||||
|
||||
@user4 = Factory.create :user
|
||||
@user4_aspect = @user4.aspect(:name => 'dudes')
|
||||
friend_users(@user, @aspect2, @user4, @user4_aspect)
|
||||
end
|
||||
let(:status_message1) { user2.post :status_message, :message => "hi", :to => user2_aspect.id }
|
||||
let(:status_message2) { user3.post :status_message, :message => "heyyyy", :to => user3_aspect.id }
|
||||
let(:status_message3) { user4.post :status_message, :message => "yooo", :to => user4_aspect.id }
|
||||
|
||||
it 'should generate a valid stream for a aspect of people' do
|
||||
status_message1 = @user2.post :status_message, :message => "hi", :to => @user2_aspect.id
|
||||
status_message2 = @user3.post :status_message, :message => "heyyyy", :to => @user3_aspect.id
|
||||
status_message3 = @user4.post :status_message, :message => "yooo", :to => @user4_aspect.id
|
||||
before do
|
||||
friend_users(user, aspect, user2, user2_aspect)
|
||||
friend_users(user, aspect2, user3, user3_aspect)
|
||||
friend_users(user, aspect2, user4, user4_aspect)
|
||||
end
|
||||
|
||||
@user.receive status_message1.to_diaspora_xml
|
||||
@user.receive status_message2.to_diaspora_xml
|
||||
@user.receive status_message3.to_diaspora_xml
|
||||
@user.reload
|
||||
it 'should generate a valid stream for a aspect of people' do
|
||||
(1..3).each{ |n|
|
||||
eval("user.receive status_message#{n}.to_diaspora_xml")
|
||||
}
|
||||
|
||||
@user.visible_posts(:by_members_of => @aspect).include?(status_message1).should be true
|
||||
@user.visible_posts(:by_members_of => @aspect).include?(status_message2).should be false
|
||||
@user.visible_posts(:by_members_of => @aspect).include?(status_message3).should be false
|
||||
user.visible_posts(:by_members_of => aspect).should include status_message1
|
||||
user.visible_posts(:by_members_of => aspect).should_not include status_message2
|
||||
user.visible_posts(:by_members_of => aspect).should_not include status_message3
|
||||
|
||||
@user.visible_posts(:by_members_of => @aspect2).include?(status_message1).should be false
|
||||
@user.visible_posts(:by_members_of => @aspect2).include?(status_message2).should be true
|
||||
@user.visible_posts(:by_members_of => @aspect2).include?(status_message3).should be true
|
||||
end
|
||||
user.visible_posts(:by_members_of => aspect2).should_not include status_message1
|
||||
user.visible_posts(:by_members_of => aspect2).should include status_message2
|
||||
user.visible_posts(:by_members_of => aspect2).should include status_message3
|
||||
end
|
||||
|
||||
describe 'querying' do
|
||||
|
||||
it 'should find a visible post by id' do
|
||||
status_message1 = @user.post :status_message, :message => "hi", :to => @aspect.id
|
||||
status_message2 = @user2.post :status_message, :message => "heyyyy", :to => @user2_aspect.id
|
||||
status_message3 = @user3.post :status_message, :message => "yooo", :to => @user3_aspect.id
|
||||
|
||||
@user.find_visible_post_by_id(status_message1.id).should == status_message1
|
||||
@user2.find_visible_post_by_id(status_message1.id).should == nil
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
describe 'albums' do
|
||||
before do
|
||||
@album = @user.post :album, :name => "Georges", :to => @aspect.id
|
||||
@aspect.reload
|
||||
@aspect2.reload
|
||||
@user.reload
|
||||
|
||||
@album2 = @user.post :album, :name => "Borges", :to => @aspect.id
|
||||
@aspect.reload
|
||||
@aspect2.reload
|
||||
@user.reload
|
||||
|
||||
@user.post :album, :name => "Luises", :to => @aspect2.id
|
||||
@aspect.reload
|
||||
@aspect2.reload
|
||||
@user.reload
|
||||
end
|
||||
|
||||
it 'should find all albums if passed :all' do
|
||||
@user.albums_by_aspect(:all).size.should == 3
|
||||
end
|
||||
|
||||
it 'should return the right number of albums' do
|
||||
@user.albums_by_aspect(@aspect).size.should == 2
|
||||
@user.albums_by_aspect(@aspect2).size.should == 1
|
||||
context 'querying' do
|
||||
describe '#find_visible_post_by_id' do
|
||||
it 'should query' do
|
||||
user2.find_visible_post_by_id(status_message1.id).should == status_message1
|
||||
user.find_visible_post_by_id(status_message1.id).should == nil
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
context 'albums' do
|
||||
|
||||
|
||||
before do
|
||||
@album = user.post :album, :name => "Georges", :to => aspect.id
|
||||
aspect.reload
|
||||
aspect2.reload
|
||||
user.reload
|
||||
|
||||
@album2 = user.post :album, :name => "Borges", :to => aspect.id
|
||||
aspect.reload
|
||||
aspect2.reload
|
||||
user.reload
|
||||
|
||||
user.post :album, :name => "Luises", :to => aspect2.id
|
||||
aspect.reload
|
||||
aspect2.reload
|
||||
user.reload
|
||||
end
|
||||
|
||||
it 'should find all albums if passed :all' do
|
||||
user.albums_by_aspect(:all).should have(3).albums
|
||||
end
|
||||
|
||||
it 'should return the right number of albums' do
|
||||
user.albums_by_aspect(aspect).should have(2).albums
|
||||
user.albums_by_aspect(aspect2).should have(1).album
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue