Only service hasn't been migrated, there are a good 100 passing examples in mysql

This commit is contained in:
Raphael 2010-12-19 12:27:32 -08:00
parent 3fe2924a60
commit 232de40457
54 changed files with 243 additions and 185 deletions

View file

@ -5,27 +5,10 @@
class AspectMembership < ActiveRecord::Base
belongs_to :aspect
belongs_to :person
validates_presence_of :person
belongs_to :contact
validates_presence_of :contact
validates_presence_of :aspect
has_one :user, :through => :aspect
has_one :user, :through => :contact
has_one :person, :through => :contact
validate :not_contact_for_self
def dispatch_request
request = self.generate_request
self.user.push_to_people(request, [self.person])
request
end
def generate_request
Request.new(:from => self.user, :to => self.person)
end
private
def not_contact_for_self
if person.owner == user
errors[:base] << 'Cannot create self-contact'
end
end
end

32
app/models/contact.rb Normal file
View file

@ -0,0 +1,32 @@
# Copyright (c) 2010, Diaspora Inc. This file is
# licensed under the Affero General Public License version 3 or later. See
# the COPYRIGHT file.
class Contact < ActiveRecord::Base
belongs_to :user
validates_presence_of :user
belongs_to :person
validates_presence_of :person
has_many :aspect_memberships
has_many :aspects, :through => :aspect_memberships
validate :not_contact_for_self
def dispatch_request
request = self.generate_request
self.user.push_to_people(request, [self.person])
request
end
def generate_request
Request.new(:sender => self.user, :recipient => self.person)
end
private
def not_contact_for_self
if person.owner == user
errors[:base] << 'Cannot create self-contact'
end
end
end

View file

@ -2,67 +2,65 @@
# licensed under the Affero General Public License version 3 or later. See
# the COPYRIGHT file.
class Request
class Request < ActiveRecord::Base
require File.join(Rails.root, 'lib/diaspora/webhooks')
include MongoMapper::Document
include Diaspora::Webhooks
include ROXML
xml_reader :sender_handle
xml_reader :recipient_handle
#xml_reader :sender_handle
#xml_reader :recipient_handle
belongs_to :into, :class => Aspect
belongs_to :from, :class => Person
belongs_to :to, :class => Person
belongs_to :sender, :class_name => 'Person'
belongs_to :recipient, :class_name => 'Person'
belongs_to :aspect
validates_presence_of :from, :to
validates_uniqueness_of :from_id, :scope => :to_id
validates_presence_of :sender, :recipient
validate :not_already_connected
validate :not_friending_yourself
scope :from, lambda { |person|
target = (person.is_a?(User) ? person.person : person)
where(:from_id => target.id)
where(:sender_id => target.id)
}
scope :to, lambda { |person|
target = (person.is_a?(User) ? person.person : person)
where(:to_id => target.id)
where(:recipient_id => target.id)
}
def self.diaspora_initialize(opts = {})
self.new(:from => opts[:from],
:to => opts[:to],
:into => opts[:into])
self.new(:sender => opts[:from],
:recipient => opts[:to],
:aspect => opts[:into])
end
def reverse_for accepting_user
Request.new(
:from => accepting_user.person,
:to => self.from
:sender => accepting_user.person,
:recipient => self.sender
)
end
def sender_handle
from.diaspora_handle
sender.diaspora_handle
end
def sender_handle= sender_handle
self.from = Person.first(:diaspora_handle => sender_handle)
self.sender = Person.first(:diaspora_handle => sender_handle)
end
def recipient_handle
to.diaspora_handle
recipient.diaspora_handle
end
def recipient_handle= recipient_handle
self.to = Person.first(:diaspora_handle => recipient_handle)
self.recipient = Person.first(:diaspora_handle => recipient_handle)
end
def diaspora_handle
self.from.diaspora_handle
sender_handle
end
def self.hashes_for_person person
@ -80,18 +78,18 @@ class Request
else
"new_request"
end
end
end
private
def not_already_connected
if Contact.first(:user_id => self.to.owner_id, :person_id => self.from.id)
if sender && recipient && Contact.where(:user_id => self.sender.owner_id, :person_id => self.recipient.id).count > 0
errors[:base] << 'You have already connected to this person'
end
end
def not_friending_yourself
if self.to == self.from
if self.recipient == self.sender
errors[:base] << 'You can not friend yourself'
end
end

View file

@ -30,12 +30,14 @@ class User < ActiveRecord::Base
validates_associated :person
has_one :person, :foreign_key => :owner_id
delegate :diaspora_handle, :to => :person
delegate :diaspora_handle, :name, :public_url, :profile, :to => :person
has_many :invitations_from_me, :class_name => 'Invitation', :foreign_key => :sender_id
has_many :invitations_to_me, :class_name => 'Invitation', :foreign_key => :recipient_id
has_many :aspects, :dependent => :destroy
has_many :aspect_memberships, :through => :aspects
has_many :contacts
has_many :contact_people, :through => :contacts
# many :visible_people, :in => :visible_person_ids, :class => Person # One of these needs to go
# many :raw_visible_posts, :in => :visible_post_ids, :class => Post

View file

@ -8,13 +8,13 @@ class CreateSchema < ActiveRecord::Migration
add_index :aspects, :user_id
create_table :aspect_memberships do |t|
t.boolean :pending, :default => true
t.integer :aspect_id
t.integer :person_id
t.integer :contact_id
t.timestamps
end
add_index :aspect_memberships, :aspect_id
add_index :aspect_memberships, [:aspect_id, :person_id], :unique => true
add_index :aspect_memberships, [:aspect_id, :contact_id], :unique => true
add_index :aspect_memberships, :contact_id
create_table :aspects_posts, :id => false do |t|
t.integer :aspect_id
@ -36,6 +36,16 @@ class CreateSchema < ActiveRecord::Migration
add_index :comments, :guid, :unique => true
add_index :comments, :post_id
create_table :contacts do |t|
t.integer :user_id
t.integer :person_id
t.boolean :pending, :default => true
t.timestamps
end
add_index :contacts, [:user_id, :pending]
add_index :contacts, [:person_id, :pending]
add_index :contacts, [:user_id, :person_id], :unique => true
create_table :invitations do |t|
t.text :message
t.integer :sender_id
@ -68,6 +78,22 @@ class CreateSchema < ActiveRecord::Migration
add_index :people, :owner_id, :unique => true
add_index :people, :diaspora_handle, :unique => true
create_table :posts do |t|
t.boolean :public, :default => false
t.string :diaspora_handle
t.boolean :pending
t.integer :user_refs
t.string :type
t.text :message
t.integer :status_message_id
t.text :caption
t.text :remote_photo_path
t.string :remote_photo_name
t.string :random_string
t.timestamps
end
add_index :posts, :type
create_table :profiles do |t|
t.string :diaspora_handle
t.string :first_name
@ -87,21 +113,15 @@ class CreateSchema < ActiveRecord::Migration
add_index :profiles, [:first_name, :last_name, :searchable]
add_index :profiles, :person_id
create_table :posts do |t|
t.boolean :public, :default => false
t.string :diaspora_handle
t.boolean :pending
t.integer :user_refs
t.string :type
t.text :message
t.integer :status_message_id
t.text :caption
t.text :remote_photo_path
t.string :remote_photo_name
t.string :random_string
create_table :requests do |t|
t.integer :sender_id
t.integer :recipient_id
t.integer :aspect_id
t.timestamps
end
add_index :posts, :type
add_index :requests, :sender_id
add_index :requests, :recipient_id
add_index :requests, [:sender_id, :recipient_id], :unique => true
create_table :users do |t|
t.string :username

View file

@ -13,15 +13,15 @@
ActiveRecord::Schema.define(:version => 0) do
create_table "aspect_memberships", :force => true do |t|
t.boolean "pending", :default => true
t.integer "aspect_id"
t.integer "person_id"
t.integer "contact_id"
t.datetime "created_at"
t.datetime "updated_at"
end
add_index "aspect_memberships", ["aspect_id", "person_id"], :name => "index_aspect_memberships_on_aspect_id_and_person_id", :unique => true
add_index "aspect_memberships", ["aspect_id", "contact_id"], :name => "index_aspect_memberships_on_aspect_id_and_contact_id", :unique => true
add_index "aspect_memberships", ["aspect_id"], :name => "index_aspect_memberships_on_aspect_id"
add_index "aspect_memberships", ["contact_id"], :name => "index_aspect_memberships_on_contact_id"
create_table "aspects", :force => true do |t|
t.string "name"
@ -56,6 +56,18 @@ ActiveRecord::Schema.define(:version => 0) do
add_index "comments", ["guid"], :name => "index_comments_on_guid", :unique => true
add_index "comments", ["post_id"], :name => "index_comments_on_post_id"
create_table "contacts", :force => true do |t|
t.integer "user_id"
t.integer "person_id"
t.boolean "pending", :default => true
t.datetime "created_at"
t.datetime "updated_at"
end
add_index "contacts", ["person_id", "pending"], :name => "index_contacts_on_person_id_and_pending"
add_index "contacts", ["user_id", "pending"], :name => "index_contacts_on_user_id_and_pending"
add_index "contacts", ["user_id", "person_id"], :name => "index_contacts_on_user_id_and_person_id", :unique => true
create_table "invitations", :force => true do |t|
t.text "message"
t.integer "sender_id"
@ -133,6 +145,18 @@ ActiveRecord::Schema.define(:version => 0) do
add_index "profiles", ["last_name", "searchable"], :name => "index_profiles_on_last_name_and_searchable"
add_index "profiles", ["person_id"], :name => "index_profiles_on_person_id"
create_table "requests", :force => true do |t|
t.integer "sender_id"
t.integer "recipient_id"
t.integer "aspect_id"
t.datetime "created_at"
t.datetime "updated_at"
end
add_index "requests", ["recipient_id"], :name => "index_requests_on_recipient_id"
add_index "requests", ["sender_id", "recipient_id"], :name => "index_requests_on_sender_id_and_recipient_id", :unique => true
add_index "requests", ["sender_id"], :name => "index_requests_on_sender_id"
create_table "users", :force => true do |t|
t.string "username"
t.text "serialized_private_key"

View file

@ -7,7 +7,7 @@ module Diaspora
module Querying
def find_visible_post_by_id( id )
self.raw_visible_posts.find id.to_id
self.raw_visible_posts.find id
end
def raw_visible_posts
@ -28,7 +28,6 @@ module Diaspora
end
def visible_person_by_id( id )
id = id.to_id
if id == self.person.id
self.person
elsif contact = contacts.first(:person_id => id)
@ -44,21 +43,21 @@ module Diaspora
def contact_for(person)
id = person.id
contact_for_person_id(id)
contact_for_person_id(id)
end
def contact_for_person_id(person_id)
contacts.first(:person_id => person_id.to_id) if person_id
contacts.first(:person_id => person_id) if person_id
end
def contacts_not_in_aspect( aspect )
def contacts_not_in_aspect( aspect )
person_ids = Contact.all(:user_id => self.id, :aspect_ids.ne => aspect._id).collect{|x| x.person_id }
Person.all(:id.in => person_ids)
end
def person_objects(contacts = self.contacts)
person_ids = contacts.collect{|x| x.person_id}
person_ids = contacts.collect{|x| x.person_id}
Person.all(:id.in => person_ids)
end

View file

@ -8,8 +8,8 @@ describe AspectsController do
render_views
before do
@user = make_user
@user2 = make_user
@user = Factory.create(:user)
@user2 = Factory.create(:user)
@aspect = @user.aspects.create(:name => "lame-os")
@aspect1 = @user.aspects.create(:name => "another aspect")
@ -41,7 +41,7 @@ describe AspectsController do
@posts = []
@users = []
8.times do |n|
user = make_user
user = Factory.create(:user)
@users << user
aspect = user.aspects.create(:name => 'people')
connect_users(@user, @aspect, user, aspect)
@ -123,7 +123,7 @@ describe AspectsController do
end
context "when the user has pending requests" do
before do
requestor = make_user
requestor = Factory.create(:user)
requestor_aspect = requestor.aspects.create(:name => "Meh")
requestor.send_contact_request_to(@user.person, requestor_aspect)
@ -231,7 +231,7 @@ describe AspectsController do
describe "#add_to_aspect" do
context 'with an incoming request' do
before do
@user3 = make_user
@user3 = Factory.create(:user)
@user3.send_contact_request_to(@user.person, @user3.aspects.create(:name => "Walruses"))
end
it 'deletes the request' do

View file

@ -7,10 +7,10 @@ require 'spec_helper'
describe CommentsController do
render_views
let!(:user1) { make_user }
let!(:user1) { Factory.create(:user) }
let!(:aspect1) { user1.aspects.create(:name => "AWESOME!!") }
let!(:user2) { make_user }
let!(:user2) { Factory.create(:user) }
let!(:aspect2) { user2.aspects.create(:name => "WIN!!") }
before do
@ -43,7 +43,7 @@ describe CommentsController do
response.code.should == '201'
end
it "doesn't overwrite person_id" do
new_user = make_user
new_user = Factory.create(:user)
comment_hash[:person_id] = new_user.person.id.to_s
post :create, comment_hash
Comment.find_by_text(comment_hash[:text]).person_id.should == user1.person.id

View file

@ -8,7 +8,7 @@ describe HomeController do
render_views
before do
@user = make_user
@user = Factory.create(:user)
sign_in @user
sign_out @user
end

View file

@ -9,7 +9,7 @@ describe InvitationsController do
render_views
let!(:user) { make_user }
let!(:user) { Factory.create(:user) }
let!(:aspect) { user.aspects.create(:name => "WIN!!") }
before do

View file

@ -6,7 +6,7 @@ require 'spec_helper'
describe NotificationsController do
let!(:user) { make_user }
let!(:user) { Factory.create(:user) }
let!(:aspect) { user.aspects.create(:name => "AWESOME!!") }
before do
@ -22,7 +22,7 @@ describe NotificationsController do
end
it 'only lets you read your own notifications' do
user2 = make_user
user2 = Factory.create(:user)
Notification.create(:user_id => user.id)
note = Notification.create(:user_id => user2.id)

View file

@ -7,7 +7,7 @@ require 'spec_helper'
describe PeopleController do
render_views
let(:user) { make_user }
let(:user) { Factory.create(:user) }
let!(:aspect) { user.aspects.create(:name => "lame-os") }
before do
@ -144,14 +144,14 @@ describe PeopleController do
assigns[:people].should =~ [@eugene, eugene2]
end
it 'shows a contact' do
user2 = make_user
user2 = Factory.create(:user)
connect_users(user, aspect, user2, user2.aspects.create(:name => 'Neuroscience'))
get :index, :q => user2.person.profile.first_name.to_s
response.should redirect_to user2.person
end
it 'shows a non-contact' do
user2 = make_user
user2 = Factory.create(:user)
user2.person.profile.searchable = true
user2.save
get :index, :q => user2.person.profile.first_name.to_s
@ -199,20 +199,20 @@ describe PeopleController do
end
it "renders the show page of a contact" do
user2 = make_user
user2 = Factory.create(:user)
connect_users(user, aspect, user2, user2.aspects.create(:name => 'Neuroscience'))
get :show, :id => user2.person.id
response.should be_success
end
it "renders the show page of a non-contact" do
user2 = make_user
user2 = Factory.create(:user)
get :show, :id => user2.person.id
response.should be_success
end
it "renders with public posts of a non-contact" do
user2 = make_user
user2 = Factory.create(:user)
status_message = user2.post(:status_message, :message => "hey there", :to => 'all', :public => true)
get :show, :id => user2.person.id
@ -258,7 +258,7 @@ describe PeopleController do
end
end
it 'does not allow mass assignment' do
new_user = make_user
new_user = Factory.create(:user)
put :update, :id => user.person.id, :owner_id => new_user.id
user.person.reload.owner_id.should_not == new_user.id
end

View file

@ -7,8 +7,8 @@ require 'spec_helper'
describe PhotosController do
render_views
let(:user1) {make_user}
let(:user2) {make_user}
let(:user1) {Factory.create(:user)}
let(:user2) {Factory.create(:user)}
let(:aspect1) { user1.aspects.create(:name => 'winners') }
let(:aspect2) { user2.aspects.create(:name => 'winners') }
@ -101,7 +101,7 @@ describe PhotosController do
end
it "doesn't overwrite random attributes" do
new_user = make_user
new_user = Factory.create(:user)
params = { :caption => "now with lasers!", :person_id => new_user.id }
put :update, :id => photo1.id, :photo => params
photo1.reload.person_id.should == user1.person.id

View file

@ -8,7 +8,7 @@ describe PostsController do
render_views
before do
@user = make_user
@user = Factory.create(:user)
@controller.stub!(:current_user).and_return(nil)
end
describe '#show' do

View file

@ -7,7 +7,7 @@ require 'spec_helper'
describe PublicsController do
render_views
let(:user) { make_user }
let(:user) { Factory.create(:user) }
let(:person) { Factory(:person) }
describe '#receive' do
@ -54,7 +54,7 @@ describe PublicsController do
describe '#webfinger' do
it "succeeds when the person and user exist locally" do
user = make_user
user = Factory.create(:user)
post :webfinger, 'q' => user.person.diaspora_handle
response.should be_success
end

View file

@ -7,7 +7,7 @@ require 'spec_helper'
describe RequestsController do
render_views
before do
@user = make_user
@user = Factory.create(:user)
sign_in :user, @user
request.env["HTTP_REFERER"] = "http://test.host"
@ -15,7 +15,7 @@ describe RequestsController do
@user.aspects.create!(:name => "lame-os")
@user.reload
@other_user = make_user
@other_user = Factory.create(:user)
@other_user.aspects.create!(:name => "meh")
@other_user.reload
end

View file

@ -6,7 +6,7 @@ require 'spec_helper'
describe ServicesController do
render_views
let(:user) { make_user }
let(:user) { Factory.create(:user) }
let!(:aspect) { user.aspects.create(:name => "lame-os") }

View file

@ -13,7 +13,7 @@ EOT
describe SocketsController do
render_views
before do
@user = make_user
@user = Factory.create(:user)
@controller = SocketsController.new
end

View file

@ -7,10 +7,10 @@ require 'spec_helper'
describe StatusMessagesController do
render_views
let!(:user1) { make_user }
let!(:user1) { Factory.create(:user) }
let!(:aspect1) { user1.aspects.create(:name => "AWESOME!!") }
let!(:user2) { make_user }
let!(:user2) { Factory.create(:user) }
let!(:aspect2) { user2.aspects.create(:name => "WIN!!") }
before do

View file

@ -7,7 +7,7 @@ require 'spec_helper'
describe UsersController do
render_views
let(:user) { make_user }
let(:user) { Factory.create(:user) }
let!(:aspect) { user.aspects.create(:name => "lame-os") }
let!(:old_password) { user.encrypted_password }

View file

@ -6,7 +6,7 @@ require 'spec_helper'
describe ApplicationHelper do
before do
@user = make_user
@user = Factory(:user)
@person = Factory.create(:person)
end

View file

@ -2,7 +2,7 @@ require 'spec_helper'
describe StreamHelper do
before do
@user = make_user
@user = Factory(:user)
@aspect = @user.aspects.create(:name => 'aspect')
@post = @user.post(:status_message, :message => "hi", :to => @aspect.id)
end

View file

@ -5,7 +5,7 @@ require 'spec_helper'
describe UsersHelper do
describe '#first_name_or_username' do
let(:user){ make_user }
let(:user){ Factory(:user) }
it 'should display the first name if it is set' do
first_name_or_username(user).should == user.person.profile.first_name

View file

@ -8,9 +8,9 @@ require File.join(Rails.root, 'lib/diaspora/exporter')
describe Diaspora::Exporter do
before do
@user1 = make_user
@user2 = make_user
@user3 = make_user
@user1 = Factory.create(:user)
@user2 = Factory.create(:user)
@user3 = Factory.create(:user)
@aspect = @user1.aspects.create(:name => "Old Work")
@aspect1 = @user1.aspects.create(:name => "Work")

View file

@ -8,7 +8,7 @@ require File.join(Rails.root, 'lib/diaspora/ostatus_builder')
describe Diaspora::OstatusBuilder do
let!(:user) { make_user }
let!(:user) { Factory.create(:user) }
let(:aspect) { user.aspects.create(:name => "Public People") }
let!(:public_status_messages) {
3.times.inject([]) do |arr,n|

View file

@ -5,9 +5,9 @@
require 'spec_helper'
describe Diaspora::Parser do
let(:user) { make_user }
let(:user) { Factory.create(:user) }
let(:aspect) { user.aspects.create(:name => 'spies') }
let(:user2) { make_user }
let(:user2) { Factory.create(:user) }
let(:aspect2) { user2.aspects.create(:name => "pandas") }
let(:person) { Factory.create(:person)}

View file

@ -25,7 +25,7 @@ end
describe Diaspora::Socketable do
before do
@user = make_user
@user = Factory.create(:user)
@aspect = @user.aspects.create(:name => "losers")
@post = @user.build_post(:status_message, :message => "hey", :to => @aspect.id)
@post.save

View file

@ -7,8 +7,8 @@ require 'spec_helper'
require File.join(Rails.root, 'lib/webfinger')
describe Webfinger do
let(:user1) { make_user }
let(:user2) { make_user }
let(:user1) { Factory.create(:user) }
let(:user2) { Factory.create(:user) }
let(:account) {"foo@tom.joindiaspora.com"}
let(:person){ Factory(:person, :diaspora_handle => account)}

View file

@ -6,7 +6,7 @@ require 'spec_helper'
describe 'user encryption' do
before do
@user = make_user
@user = Factory.create(:user)
@aspect = @user.aspects.create(:name => 'dudes')
end

View file

@ -5,9 +5,9 @@
require 'spec_helper'
describe Salmon do
let(:user){make_user}
let(:user2) {make_user}
let(:user3) {make_user}
let(:user){Factory.create(:user)}
let(:user2) {Factory.create(:user)}
let(:user3) {Factory.create(:user)}
let(:post){ user.post :status_message, :message => "hi", :to => user.aspects.create(:name => "sdg").id }
let!(:created_salmon) {Salmon::SalmonSlap.create(user, post.to_diaspora_xml)}

View file

@ -3,7 +3,7 @@ require 'spec_helper'
describe Notifier do
let!(:user) {make_user}
let!(:user) {Factory.create(:user)}
let!(:person) {Factory.create :person}
before do
@ -21,7 +21,7 @@ describe Notifier do
it 'mails a bunch of users' do
users = []
5.times do
users << make_user
users << Factory.create(:user)
end
mails = Notifier.admin("Welcome to bureaucracy!", users)
mails.length.should == 5

View file

@ -5,15 +5,15 @@
require 'spec_helper'
describe Aspect do
let(:user ) { make_user }
let(:user ) { Factory.create(:user) }
let(:connected_person) { Factory.create(:person) }
let(:user2) { make_user }
let(:user2) { Factory.create(:user) }
let(:connected_person_2) { Factory.create(:person) }
let(:aspect) {user.aspects.create(:name => 'losers')}
let(:aspect2) {user2.aspects.create(:name => 'failures')}
let(:aspect1) {user.aspects.create(:name => 'cats')}
let(:user3) {make_user}
let(:user3) {Factory.create(:user)}
let(:aspect3) {user3.aspects.create(:name => "lala")}
describe 'creation' do

View file

@ -5,10 +5,10 @@
require 'spec_helper'
describe Comment do
let(:user) {make_user}
let(:user) {Factory.create(:user)}
let(:aspect) {user.aspects.create(:name => "Doofuses")}
let(:user2) {make_user}
let(:user2) {Factory.create(:user)}
let(:aspect2) {user2.aspects.create(:name => "Lame-faces")}
let!(:connecting) { connect_users(user, aspect, user2, aspect2) }
@ -181,7 +181,7 @@ describe Comment do
end
describe 'serialization' do
it 'should serialize the handle and not the sender' do
commenter = make_user
commenter = Factory.create(:user)
commenter_aspect = commenter.aspects.create(:name => "bruisers")
connect_users(user, aspect, commenter, commenter_aspect)
post = user.post :status_message, :message => "hello", :to => aspect.id

View file

@ -19,7 +19,7 @@ describe Contact do
end
it 'ensures user is not making a contact for himself' do
user = make_user
user = Factory.create(:user)
contact.person = user.person
contact.user = user
@ -33,7 +33,7 @@ describe Contact do
end
it 'validates uniqueness' do
user = make_user
user = Factory.create(:user)
person = Factory(:person)
contact2 = Contact.create(:user => user,
@ -51,7 +51,7 @@ describe Contact do
context 'requesting' do
before do
@contact = Contact.new
@user = make_user
@user = Factory.create(:user)
@person = Factory(:person)
@contact.user = @user

View file

@ -5,9 +5,9 @@
require 'spec_helper'
describe Invitation do
let(:user) {make_user}
let(:user) {Factory.create(:user)}
let!(:aspect) {user.aspects.create(:name => "Invitees")}
let(:user2) {make_user}
let(:user2) {Factory.create(:user)}
before do
@email = 'maggie@example.com'
Devise.mailer.deliveries = []
@ -48,7 +48,7 @@ describe Invitation do
before do
@users = []
8.times do
@users << make_user
@users << Factory.create(:user)
end
end
it 'returns User.new for a non-existent user' do

View file

@ -2,7 +2,7 @@ require 'spec_helper'
describe Jobs::PostToServices do
it 'calls post to services from the given user with given post' do
user = make_user
user = Factory.create(:user)
aspect = user.aspects.create(:name => "yeah")
post = user.post(:status_message, :message => 'foo', :to => aspect.id)
User.stub!(:find_by_id).with(user.id.to_s).and_return(user)

View file

@ -2,8 +2,8 @@ require 'spec_helper'
describe Jobs::ReceiveLocal do
before do
@user1 = make_user
@user2 = make_user
@user1 = Factory.create(:user)
@user2 = Factory.create(:user)
@status = Factory(:status_message)
@status_type = @status.class.to_s

View file

@ -2,7 +2,7 @@ require 'spec_helper'
describe Jobs::ReceiveSalmon do
before do
@user = make_user
@user = Factory.create(:user)
@xml = '<xml></xml>'
User.stub(:find){ |id|
if id == @user.id

View file

@ -2,7 +2,7 @@ require 'spec_helper'
describe Jobs::Receive do
before do
@user = make_user
@user = Factory.create(:user)
@person = Factory(:person)
@xml = '<xml></xml>'
User.stub(:find){ |id|

View file

@ -2,7 +2,7 @@ require File.join(Rails.root, 'spec/spec_helper')
describe Jobs::SocketWebfinger do
before do
@user = make_user
@user = Factory.create(:user)
@account = "tom@tom.joindiaspora.com"
end
it 'Makes a Webfinger object' do

View file

@ -9,8 +9,8 @@ describe Notification do
before do
@sm = Factory(:status_message)
@person = Factory(:person)
@user = make_user
@user2 = make_user
@user = Factory.create(:user)
@user2 = Factory.create(:user)
@aspect = @user.aspects.create(:name => "dudes")
@opts = {:object_id => @sm.id, :kind => @sm.class.name, :person_id => @person.id, :user_id => @user.id}
@note = Notification.new(@opts)
@ -30,7 +30,7 @@ describe Notification do
describe '.for' do
it 'returns all of a users notifications' do
user2 = make_user
user2 = Factory.create(:user)
Notification.create(@opts)
Notification.create(@opts)
Notification.create(@opts)

View file

@ -6,7 +6,7 @@ require 'spec_helper'
describe Photo do
before do
@user = make_user
@user = Factory.create(:user)
@aspect = @user.aspects.create(:name => "losers")
@fixture_filename = 'button.png'

View file

@ -6,8 +6,8 @@ require 'spec_helper'
describe Request do
before do
@user = make_user
@user2 = make_user
@user = Factory.create(:user)
@user2 = Factory.create(:user)
@person = Factory :person
@aspect = @user.aspects.create(:name => "dudes")
@aspect2 = @user2.aspects.create(:name => "Snoozers")
@ -18,21 +18,21 @@ describe Request do
@request = Request.diaspora_initialize(:from => @user.person, :to => @user2.person, :into => @aspect)
end
it 'is valid' do
@request.sender.should == @user.person
@request.recipient.should == @user2.person
@request.aspect.should == @aspect
@request.should be_valid
@request.from.should == @user.person
@request.to.should == @user2.person
@request.into.should == @aspect
end
it 'is from a person' do
@request.from = nil
@request.sender = nil
@request.should_not be_valid
end
it 'is to a person' do
@request.to = nil
@request.recipient = nil
@request.should_not be_valid
end
it 'is not necessarily into an aspect' do
@request.into = nil
@request.aspect = nil
@request.should be_valid
end
it 'is not from an existing friend' do
@ -82,7 +82,7 @@ describe Request do
end
describe '#notification_type' do
before do
@request = Request.diaspora_initialize(:from => @user.person, :to => @user2.person, :into => @aspect)
@request = Request.diaspora_initialize(:from => @user.person, :to => @user2.person, :into => @aspect)
end
it "returns 'request_accepted' if there is a pending contact" do
Contact.create(:user_id => @user.id, :person_id => @person.id)
@ -96,8 +96,8 @@ describe Request do
describe '.hashes_for_person' do
before do
@user = make_user
@user2 = make_user
@user = Factory.create(:user)
@user2 = Factory.create(:user)
@user2.send_contact_request_to @user.person, @user2.aspects.create(:name => "hi")
@user.reload
@user2.reload
@ -116,7 +116,7 @@ describe Request do
end
describe 'xml' do
before do
@request = Request.new(:from => @user.person, :to => @user2.person, :into => @aspect)
@request = Request.new(:sender => @user.person, :recipient => @user2.person, :aspect => @aspect)
@xml = @request.to_xml.to_s
end
describe 'serialization' do
@ -146,13 +146,13 @@ describe Request do
@marshalled = Request.from_xml @xml
end
it 'marshals the sender' do
@marshalled.from.should == @user.person
@marshalled.sender.should == @user.person
end
it 'marshals the recipient' do
@marshalled.to.should == @user2.person
@marshalled.recipient.should == @user2.person
end
it 'knows nothing about the aspect' do
@marshalled.into.should be_nil
@marshalled.aspect.should be_nil
end
end
describe 'marshalling with diaspora wrapper' do
@ -161,13 +161,13 @@ describe Request do
@marshalled = Diaspora::Parser.from_xml @d_xml
end
it 'marshals the sender' do
@marshalled.from.should == @user.person
@marshalled.sender.should == @user.person
end
it 'marshals the recipient' do
@marshalled.to.should == @user2.person
@marshalled.recipient.should == @user2.person
end
it 'knows nothing about the aspect' do
@marshalled.into.should be_nil
@marshalled.aspect.should be_nil
end
end
end

View file

@ -6,7 +6,7 @@ require 'spec_helper'
describe Retraction do
let(:user) { make_user }
let(:user) { Factory.create(:user) }
let(:person) { Factory(:person) }
let(:aspect) { user.aspects.create(:name => "Bruisers") }
let!(:activation) { user.activate_contact(person, aspect) }

View file

@ -3,7 +3,7 @@ require 'spec_helper'
describe Services::Facebook do
before do
@user = make_user
@user = Factory.create(:user)
@user.aspects.create(:name => "whatever")
@post = @user.post(:status_message, :message => "hello", :to =>@user.aspects.first.id)
@service = Services::Facebook.new(:access_token => "yeah")

View file

@ -3,7 +3,7 @@ require 'spec_helper'
describe Services::Twitter do
before do
@user = make_user
@user = Factory.create(:user)
@user.aspects.create(:name => "whatever")
@post = @user.post(:status_message, :message => "hello", :to =>@user.aspects.first.id)
@service = Services::Twitter.new(:access_token => "yeah", :access_secret => "foobar")

View file

@ -6,15 +6,15 @@ require 'spec_helper'
describe "attack vectors" do
let(:user) { make_user }
let(:user) { Factory.create(:user) }
let(:aspect) { user.aspects.create(:name => 'heroes') }
let(:bad_user) { make_user}
let(:bad_user) { Factory.create(:user)}
let(:user2) { make_user }
let(:user2) { Factory.create(:user) }
let(:aspect2) { user2.aspects.create(:name => 'losers') }
let(:user3) { make_user }
let(:user3) { Factory.create(:user) }
let(:aspect3) { user3.aspects.create(:name => 'heroes') }
context 'non-contact valid user' do

View file

@ -6,8 +6,8 @@ require 'spec_helper'
describe User do
let!(:user1){make_user}
let!(:user2){make_user}
let!(:user1){Factory.create(:user)}
let!(:user2){Factory.create(:user)}
let!(:aspect1){user1.aspects.create(:name => 'heroes')}
let!(:aspect2){user2.aspects.create(:name => 'others')}

View file

@ -5,7 +5,7 @@
require 'spec_helper'
describe Diaspora::UserModules::Connecting do
let(:user) { make_user }
let(:user) { Factory.create(:user) }
let(:aspect) { user.aspects.create(:name => 'heroes') }
let(:aspect1) { user.aspects.create(:name => 'other') }
let(:person) { Factory.create(:person) }
@ -14,7 +14,7 @@ describe Diaspora::UserModules::Connecting do
let(:person_two) { Factory.create :person }
let(:person_three) { Factory.create :person }
let(:user2) { make_user }
let(:user2) { Factory.create(:user) }
let(:aspect2) { user2.aspects.create(:name => "aspect two") }
describe '#send_contact_request_to' do

View file

@ -5,11 +5,11 @@
require 'spec_helper'
describe User do
let(:inviter) {new_user = make_user; new_user.invites = 5; new_user.save; new_user;}
let(:inviter) {new_user = Factory.create(:user); new_user.invites = 5; new_user.save; new_user;}
let(:aspect) {inviter.aspects.create(:name => "awesome")}
let(:another_user) {make_user}
let(:another_user) {Factory.create(:user)}
let(:wrong_aspect) {another_user.aspects.create(:name => "super")}
let(:inviter_with_3_invites) { new_user = make_user; new_user.invites = 3; new_user.save; new_user;}
let(:inviter_with_3_invites) { new_user = Factory.create(:user); new_user.invites = 3; new_user.save; new_user;}
let(:aspect2) {inviter_with_3_invites.aspects.create(:name => "Jersey Girls")}
context "creating invites" do

View file

@ -6,8 +6,8 @@ require 'spec_helper'
describe User do
let!(:user) { make_user }
let!(:user2) { make_user }
let!(:user) { Factory.create(:user) }
let!(:user2) { Factory.create(:user) }
let!(:aspect) { user.aspects.create(:name => 'heroes') }
let!(:aspect1) { user.aspects.create(:name => 'other') }
@ -122,8 +122,8 @@ describe User do
end
context 'dispatching' do
let!(:user3) { make_user }
let!(:user4) { make_user }
let!(:user3) { Factory.create(:user) }
let!(:user4) { Factory.create(:user) }
let!(:aspect3) { user3.aspects.create(:name => 'heroes') }
let!(:aspect4) { user4.aspects.create(:name => 'heroes') }

View file

@ -6,13 +6,13 @@ require 'spec_helper'
describe User do
let(:user) { make_user }
let(:user) { Factory.create(:user) }
let(:aspect) { user.aspects.create(:name => 'heroes') }
let(:user2) { make_user }
let(:user2) { Factory.create(:user) }
let(:aspect2) { user2.aspects.create(:name => 'losers') }
let(:user3) { make_user }
let(:user3) { Factory.create(:user) }
let(:aspect3) { user3.aspects.create(:name => 'heroes') }
before do

View file

@ -5,9 +5,9 @@
require 'spec_helper'
describe User do
let(:user) { make_user }
let(:user) { Factory.create(:user) }
let(:aspect) { user.aspects.create(:name => 'heroes') }
let(:user2) { make_user }
let(:user2) { Factory.create(:user) }
let(:aspect2) { user2.aspects.create(:name => 'stuff') }
it 'should have a key' do