Skip to content
Extraits de code Groupes Projets
Valider 15bd24a6 rédigé par maxwell's avatar maxwell
Parcourir les fichiers

Merge branch 'master' of github.com:diaspora/diaspora

Conflicts:
	spec/lib/message_handler_spec.rb
	spec/spec_helper.rb
parents c1c045a4 58198599
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
Affichage de
avec 1086 ajouts et 51 suppressions
......@@ -16,15 +16,24 @@ class PeopleController < ApplicationController
def show
@aspect = :profile
@person = current_user.visible_person_by_id(params[:id])
unless @person
render :file => "#{Rails.root}/public/404.html", :layout => false, :status => 404
else
@person = Person.find(params[:id].to_id)
if @person
@profile = @person.profile
@contact = current_user.contact_for(@person)
@aspects_with_person = @contact.aspects if @contact
if @contact
@aspects_with_person = @contact.aspects
else
@pending_request = current_user.pending_requests.find_by_person_id(@person.id)
end
@posts = current_user.visible_posts(:person_id => @person.id).paginate :page => params[:page], :order => 'created_at DESC'
respond_with @person
else
flash[:error] = "Person does not exist!"
redirect_to people_path
end
end
......
......@@ -435,7 +435,7 @@ class User
end
def diaspora_handle
"#{self.username}@#{APP_CONFIG[:terse_pod_url]}"
person.diaspora_handle
end
def as_json(opts={})
......
......@@ -27,7 +27,7 @@
- for aspect in @aspects_with_person
%li= link_to aspect.name, aspect
- if @person != current_user.person && current_user.friends.include?(@person)
- if @person != current_user.person && @contact
= link_to t('.remove_friend'), @person, :confirm => t('.are_you_sure'), :method => :delete, :class => "button"
- if @person == current_user.person
......@@ -36,17 +36,43 @@
%br
%br
%ul
%li= link_to 'stream', person_path(@person)
%li= link_to 'photos', person_photos_path(@person)
- if @person != current_user.person && @contact
%ul
%li= link_to 'stream', person_path(@person)
%li= link_to 'photos', person_photos_path(@person)
.span-15.last
- if @posts.count > 0
%ul#stream
- for post in @posts
= render type_partial(post), :post => post unless post.class == Album
= will_paginate @posts
- if @contact || current_user.person == @person
- if @posts.count > 0
%ul#stream
- for post in @posts
= render type_partial(post), :post => post unless post.class == Album
= will_paginate @posts
- else
%h3= t('.no_posts')
- else
%h3= t('.no_posts')
.floating
%h3
= "You're currently not friends with #{@person.real_name}"
- unless @pending_request
%h3
.description
If you'd like, you can request to place him/her in one of your aspects.
= form_for Request.new do |f|
= f.select(:aspect_id, @aspects_dropdown_array)
= f.hidden_field :destination_url, :value => @person.diaspora_handle
= f.submit t('.add_friend')
- else
%h3
.description
= "You have already sent a request to #{@person.real_name}."
......@@ -216,6 +216,7 @@ en:
are_you_sure: "Are you sure?"
remove_friend: "remove friend"
no_posts: "no posts to display!"
add_friend: "add friend"
edit:
cancel: "Cancel"
update_profile: "Update Profile"
......
namespace :fixtures do
desc 'Regenerates user fixtures'
task :users do
puts "Regenerating fixtures for users."
require File.join(Rails.root,"config/environment")
require File.join(Rails.root,"spec/helper_methods")
require File.join(Rails.root,"spec/factories")
include HelperMethods
UserFixer.regenerate_user_fixtures
puts "Fixture regeneration complete."
end
end
......@@ -7,7 +7,7 @@ require 'spec_helper'
describe AlbumsController do
render_views
before do
@user = Factory.create(:user)
@user = make_user
@aspect = @user.aspect(:name => "lame-os")
@album = @user.post :album, :to => @aspect.id, :name => 'things on fire'
sign_in :user, @user
......@@ -31,7 +31,7 @@ describe AlbumsController do
end
it "doesn't overwrite random attributes" do
new_user = Factory.create :user
new_user = make_user
params = {:name => "Bruisers", :person_id => new_user.person.id}
put('update', :id => @album.id, "album" => params)
@album.reload.person_id.should == @user.person.id
......
......@@ -8,10 +8,10 @@ describe AspectsController do
render_views
before do
@user = Factory.create(:user)
@user = make_user
@aspect = @user.aspect(:name => "lame-os")
@aspect1 = @user.aspect(:name => "another aspect")
@user2 = Factory.create(:user)
@user2 = make_user
@aspect2 = @user2.aspect(:name => "party people")
friend_users(@user,@aspect, @user2, @aspect2)
@contact = @user.contact_for(@user2.person)
......
......@@ -7,7 +7,7 @@ require 'spec_helper'
describe PhotosController do
render_views
before do
@user = Factory.create(:user)
@user = make_user
@aspect = @user.aspect(:name => "lame-os")
@album = @user.post :album, :to => @aspect.id, :name => 'things on fire'
@fixture_filename = 'button.png'
......
......@@ -7,8 +7,8 @@ require 'spec_helper'
describe PublicsController do
render_views
let!(:user) { Factory.create :user }
let!(:user2) { Factory.create :user }
let!(:user) { make_user }
let!(:user2) { make_user }
let!(:aspect1) { user.aspect(:name => "foo") }
let!(:aspect2) { user2.aspect(:name => "far") }
let!(:aspect2) { user2.aspect(:name => 'disciples') }
......@@ -105,7 +105,7 @@ describe PublicsController do
describe '#webfinger' do
it "succeeds when the person and user exist locally" do
user = Factory(:user)
user = make_user
post :webfinger, 'q' => user.person.diaspora_handle
response.should be_success
end
......
......@@ -7,7 +7,7 @@ require 'spec_helper'
describe RequestsController do
render_views
before do
@user = Factory.create(:user)
@user = make_user
sign_in :user, @user
@user.aspect(:name => "lame-os")
......
......@@ -6,7 +6,7 @@ require 'spec_helper'
describe ServicesController do
render_views
let(:user) { Factory(:user) }
let(:user) { make_user }
let!(:aspect) { user.aspect(:name => "lame-os") }
let!(:service1) {a = Factory(:service); user.services << a; a}
......
......@@ -13,7 +13,7 @@ EOT
describe SocketsController do
render_views
before do
@user = Factory.create(:user)
@user = make_user
@controller = SocketsController.new
end
......
......@@ -7,7 +7,7 @@ require 'spec_helper'
describe StatusMessagesController do
render_views
let!(:user) { Factory(:user) }
let!(:user) { make_user }
let!(:aspect) { user.aspect(:name => "lame-os") }
before do
......
......@@ -6,7 +6,7 @@ require 'spec_helper'
describe UsersController do
let(:user) { Factory(:user) }
let(:user) { make_user }
let!(:aspect) { user.aspect(:name => "lame-os") }
let!(:old_password) { user.encrypted_password }
......
......@@ -7,15 +7,19 @@
# http://railscasts.com/episodes/158-factories-not-fixtures
#This inclsion, because gpg-agent(not needed) is never run and hence never sets any env. variables on a MAC
def r_str
ActiveSupport::SecureRandom.hex(3)
end
Factory.define :profile do |p|
p.sequence(:first_name){|n| "Robert#{n}"}
p.sequence(:last_name){|n| "Grimm#{n}"}
p.sequence(:first_name){|n| "Robert#{n}#{r_str}"}
p.sequence(:last_name){|n| "Grimm#{n}#{r_str}"}
end
Factory.define :person do |p|
p.sequence(:diaspora_handle) {|n| "bob-person-#{n}@aol.com"}
p.sequence(:url) {|n| "http://google-#{n}.com/"}
p.sequence(:diaspora_handle) {|n| "bob-person-#{n}#{r_str}@aol.com"}
p.sequence(:url) {|n| "http://google-#{n}#{r_str}.com/"}
p.profile Factory.create(:profile, :first_name => "eugene", :last_name => "weinstien")
p.serialized_public_key OpenSSL::PKey::RSA.generate(1024).public_key.export
......@@ -27,8 +31,8 @@ Factory.define :album do |p|
end
Factory.define :user do |u|
u.sequence(:username) {|n| "bob#{n}"}
u.sequence(:email) {|n| "bob#{n}@pivotallabs.com"}
u.sequence(:username) {|n| "bob#{n}#{r_str}"}
u.sequence(:email) {|n| "bob#{n}#{r_str}@pivotallabs.com"}
u.password "bluepin7"
u.password_confirmation "bluepin7"
u.serialized_private_key OpenSSL::PKey::RSA.generate(1024).export
......
Ce diff est replié.
module HelperMethods
def stub_sockets
Diaspora::WebSocket.stub!(:queue_to_user).and_return(true)
Diaspora::WebSocket.stub!(:subscribe).and_return(true)
Diaspora::WebSocket.stub!(:unsubscribe).and_return(true)
end
def unstub_sockets
Diaspora::WebSocket.unstub!(:queue_to_user)
Diaspora::WebSocket.unstub!(:subscribe)
Diaspora::WebSocket.unstub!(:unsubscribe)
end
def stub_comment_signature_verification
Comment.any_instance.stubs(:verify_signature).returns(true)
......@@ -88,4 +77,50 @@ module HelperMethods
def evan_hcard
File.open(File.dirname(__FILE__) + '/fixtures/evan_hcard').read
end
def make_user
UserFixer.fixed_user
end
class UserFixer
def self.regenerate_user_fixtures
users = {:users => build_user_fixtures}
File.open(File.join(Rails.root,"spec/fixtures/users.yaml"),'w') do |file|
file.write(users.to_yaml)
end
end
def self.build_user_fixtures
arr = []
10.times do
user = Factory :user
person = user.person
arr << { :user => user.to_mongo, :person => person.to_mongo}
end
arr
end
def self.load_user_fixtures
yaml_users = YAML.load_file(File.join(Rails.root,"spec/fixtures/users.yaml"))
@@user_hashes = []
@@user_number = 0
yaml_users[:users].each do |yaml_user|
user_id = yaml_user[:user]["_id"].to_id
@@user_hashes << {:id => user_id, :data => yaml_user}
end
end
def self.fixed_user
db = MongoMapper.database
people = db.collection("people")
users = db.collection("users")
user_hash = @@user_hashes[@@user_number]
@@user_number += 1
@@user_number = 0 if @@user_number >= @@user_hashes.length
users.insert(user_hash[:data][:user])
people.insert(user_hash[:data][:person])
User.find(user_hash[:id])
end
end
end
......@@ -6,7 +6,7 @@ require 'spec_helper'
describe ApplicationHelper do
before do
@user = Factory.create(:user)
@user = make_user
@person = Factory.create(:person)
end
......
......@@ -6,7 +6,7 @@ require 'spec_helper'
describe PublicsHelper do
before do
@user = Factory.create(:user)
@user = make_user
@person = Factory.create(:person)
end
......
......@@ -7,9 +7,9 @@ require File.join(Rails.root, 'lib/diaspora/exporter')
describe Diaspora::Exporter do
let!(:user1) { Factory(:user) }
let!(:user2) { Factory(:user) }
let!(:user3) { Factory(:user) }
let!(:user1) { make_user }
let!(:user2) { make_user }
let!(:user3) { make_user }
let!(:aspect) { user1.aspect(:name => "Old Work") }
let(:aspect1) { user1.aspect(:name => "Work") }
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter