require File.dirname(__FILE__) + '/../spec_helper' include ApplicationHelper describe ApplicationHelper do before do @user = Factory.create(:user, :email => "bob@aol.com") @friend =Factory.create(:friend, :email => "bill@gates.com") end it "should store objects sent from xml" do status_messages = [] 10.times { status_messages << Factory.build(:status_message)} xml = Post.build_xml_for(status_messages) store_posts_from_xml(xml) StatusMessage.count.should == 10 end it 'should discard posts where it does not know the type' do xml = " #{User.first.email} \n Here is another message\n a@a.com\n a@a.com\n a@a.com\n \n HEY DUDE\n a@a.com\n a@a.com\n a@a.com\n " store_posts_from_xml(xml) Post.count.should == 2 end it 'should discard types which are not of type post' do xml = " #{User.first.email} \n Here is another message\n a@a.com\n a@a.com\n a@a.com\n \n HEY DUDE\n a@a.com\n a@a.com\n a@a.com\n " store_posts_from_xml(xml) Post.count.should == 2 end describe "parsing compliant XML object" do before do status_messages = [] 10.times { status_messages << Factory.build(:status_message)} @xml = Post.build_xml_for(status_messages) end it 'should be able to parse the sender\'s unique id' do parse_sender_id_from_xml(@xml).should == @user.email end it 'should be able to retrieve the sender\'s local Person object' do parse_sender_object_from_xml(@xml).should == @user end it 'should be able to parse the body\'s contents' do body = parse_body_contents_from_xml(@xml).to_s body.should_not include "" body.should_not include "" body.should_not include "" body.should_not include "" body.should include "" body.should include "" end it 'should be able to extract all posts to an array' do posts = parse_posts_from_xml(@xml) posts.is_a?(Array).should be true posts.count.should == 10 end end end