DG MS; scenario for importer spec
This commit is contained in:
parent
d6b08de6fc
commit
b2f3074eb0
2 changed files with 94 additions and 0 deletions
21
lib/diaspora/importer.rb
Normal file
21
lib/diaspora/importer.rb
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
# Copyright (c) 2010, Diaspora Inc. This file is
|
||||
# licensed under the Affero General Public License version 3 or later. See
|
||||
# the COPYRIGHT file.
|
||||
|
||||
module Diaspora
|
||||
|
||||
class Importer
|
||||
def initialize(strategy)
|
||||
self.class.send(:include, strategy)
|
||||
end
|
||||
end
|
||||
|
||||
module Importers
|
||||
module XML
|
||||
def execute(user)
|
||||
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
73
spec/lib/importer_spec.rb
Normal file
73
spec/lib/importer_spec.rb
Normal file
|
|
@ -0,0 +1,73 @@
|
|||
# Copyright (c) 2010, Diaspora Inc. This file is
|
||||
# licensed under the Affero General Public License version 3 or later. See
|
||||
# the COPYRIGHT file.
|
||||
|
||||
require 'spec_helper'
|
||||
require File.join(Rails.root, 'lib/diaspora/exporter')
|
||||
require File.join(Rails.root, 'lib/diaspora/importer')
|
||||
|
||||
describe Diaspora::Importer do
|
||||
|
||||
# Five users on pod
|
||||
let!(:user1) { Factory(:user) }
|
||||
let!(:user2) { Factory(:user) }
|
||||
let!(:user3) { Factory(:user) }
|
||||
let!(:user4) { Factory(:user) }
|
||||
let!(:user5) { Factory(:user) }
|
||||
|
||||
# Two external people referenced on pod
|
||||
let!(:person1) { Factory(:person) }
|
||||
let!(:person2) { Factory(:person) }
|
||||
|
||||
# User1 has four aspects(1-4), each following user has one aspect
|
||||
let!(:aspect1) { user1.aspect(:name => "Dudes") }
|
||||
let!(:aspect2) { user1.aspect(:name => "Girls") }
|
||||
let!(:aspect3) { user1.aspect(:name => "Bros") }
|
||||
let!(:aspect4) { user1.aspect(:name => "People") }
|
||||
let!(:aspect5) { user2.aspect(:name => "Abe Lincolns") }
|
||||
let!(:aspect6) { user3.aspect(:name => "Cats") }
|
||||
let!(:aspect7) { user4.aspect(:name => "Dogs") }
|
||||
let!(:aspect8) { user5.aspect(:name => "Hamsters") }
|
||||
|
||||
# User1 posts one status messages to aspects (1-4), two other users post message to one aspect
|
||||
let(:status_message1) { user1.post(:status_message, :message => "One", :public => true, :to => aspect1.id) }
|
||||
let(:status_message2) { user1.post(:status_message, :message => "Two", :public => true, :to => aspect2.id) }
|
||||
let(:status_message3) { user1.post(:status_message, :message => "Three", :public => false, :to => aspect3.id) }
|
||||
let(:status_message4) { user1.post(:status_message, :message => "Four", :public => false, :to => aspect4.id) }
|
||||
let(:status_message5) { user2.post(:status_message, :message => "Five", :public => false, :to => aspect5.id) }
|
||||
let(:status_message6) { user3.post(:status_message, :message => "Six", :public => false, :to => aspect6.id) }
|
||||
|
||||
before(:all) do
|
||||
# Friend users
|
||||
friend_users( user1, aspect1, user2, aspect5 )
|
||||
friend_users( user1, aspect2, user3, aspect6 )
|
||||
friend_users( user1, aspect3, user4, aspect7 )
|
||||
friend_users( user1, aspect4, user5, aspect8 )
|
||||
|
||||
# Generate status messages and receive
|
||||
user2.receive status_message1.to_diaspora_xml
|
||||
user3.receive status_message2.to_diaspora_xml
|
||||
user4.receive status_message3.to_diaspora_xml
|
||||
user5.receive status_message4.to_diaspora_xml
|
||||
user1.receive status_message5.to_diaspora_xml
|
||||
user1.receive status_message6.to_diaspora_xml
|
||||
end
|
||||
|
||||
it 'should gut check this test' do
|
||||
user1.friends.count.should be 4
|
||||
user1.friends.should include user2.person
|
||||
user1.friends.should include user3.person
|
||||
user1.friends.should include user4.person
|
||||
user1.friends.should include user5.person
|
||||
|
||||
# User is generated with two pre-populated aspects
|
||||
user1.aspects.count.should be 6
|
||||
user1.aspects.find_by_name("Dudes").people.should include user2.person
|
||||
user1.aspects.find_by_name("Dudes").posts.should include status_message5
|
||||
|
||||
user1.raw_visible_posts.count.should be 6
|
||||
user1.raw_visible_posts.find_all_by_person_id(user1.person.id).count.should be 4
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
Loading…
Reference in a new issue