Don't expect raises in request specs, redirect to :back on all requesting
This commit is contained in:
parent
538c6ce4b9
commit
f3a301d314
2 changed files with 33 additions and 41 deletions
|
|
@ -10,6 +10,7 @@ describe RequestsController do
|
|||
@user = make_user
|
||||
|
||||
sign_in :user, @user
|
||||
request.env["HTTP_REFERER"] = "http://test.host"
|
||||
|
||||
@user.aspects.create!(:name => "lame-os")
|
||||
@user.reload
|
||||
|
|
@ -22,7 +23,6 @@ describe RequestsController do
|
|||
@other_user.reload
|
||||
|
||||
@other_user.send_contact_request_to(@user.person, @other_user.aspects.first)
|
||||
|
||||
@user.reload # so it can find its pending requests.
|
||||
@friend_request = @user.pending_requests.first
|
||||
end
|
||||
|
|
@ -42,52 +42,41 @@ describe RequestsController do
|
|||
|
||||
describe '#create' do
|
||||
it "redirects when requesting to be contacts with yourself" do
|
||||
put(:create, {
|
||||
:destination_handle => @user.diaspora_handle,
|
||||
:aspect_id => @user.aspects[0].id
|
||||
post(:create, :request => {
|
||||
:to => @user.diaspora_handle,
|
||||
:into => @user.aspects[0].id
|
||||
}
|
||||
)
|
||||
response.should redirect_to aspects_manage_path
|
||||
response.should redirect_to :back
|
||||
end
|
||||
|
||||
it "flashes and redirects when requesting an invalid identity" do
|
||||
put(:create, {
|
||||
:destination_handle => "not_a_@valid_email",
|
||||
:aspect_id => @user.aspects[0].id
|
||||
}
|
||||
post(:create, :request => {
|
||||
:to => "not_a_@valid_email",
|
||||
:into => @user.aspects[0].id
|
||||
}
|
||||
)
|
||||
flash[:error].should_not be_blank
|
||||
response.should redirect_to aspects_manage_path
|
||||
response.should redirect_to :back
|
||||
end
|
||||
|
||||
it "flashes and redirects when requesting an invalid identity with a port number" do
|
||||
put(:create, {
|
||||
:destination_handle => "johndoe@email.com:3000",
|
||||
:aspect_id => @user.aspects[0].id
|
||||
post(:create, :request => {
|
||||
:to => "johndoe@email.com:3000",
|
||||
:into => @user.aspects[0].id
|
||||
}
|
||||
)
|
||||
flash[:error].should_not be_blank
|
||||
response.should redirect_to aspects_manage_path
|
||||
response.should redirect_to :back
|
||||
end
|
||||
|
||||
it "redirects when requesting an identity from an invalid server" do
|
||||
stub_request(:get, /notadiasporaserver\.com/).to_raise(Errno::ETIMEDOUT)
|
||||
put(:create, {
|
||||
:destination_handle => "johndoe@notadiasporaserver.com",
|
||||
:aspect_id => @user.aspects[0].id
|
||||
post(:create, :request => {
|
||||
:to => "johndoe@notadiasporaserver.com",
|
||||
:into => @user.aspects[0].id
|
||||
}
|
||||
)
|
||||
response.should redirect_to aspects_manage_path
|
||||
end
|
||||
|
||||
it 'should redirect to the page which you called it from ' do
|
||||
pending "This controller should probably redirect to :back"
|
||||
put(:create, {
|
||||
:destination_handle => "johndoe@notadiasporaserver.com",
|
||||
:aspect_id => @user.aspects[0].id
|
||||
}
|
||||
)
|
||||
response.should redirect_to(:back)
|
||||
response.should redirect_to :back
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -17,8 +17,7 @@ describe Diaspora::UserModules::Connecting do
|
|||
let(:user2) { make_user }
|
||||
let(:aspect2) { user2.aspects.create(:name => "aspect two") }
|
||||
|
||||
|
||||
context 'contact requesting' do
|
||||
describe '#send_contact_request_to' do
|
||||
it "should assign a request to a aspect for the user that sent it out" do
|
||||
aspect.requests.size.should == 0
|
||||
|
||||
|
|
@ -27,7 +26,9 @@ describe Diaspora::UserModules::Connecting do
|
|||
aspect.reload
|
||||
aspect.requests.size.should == 1
|
||||
end
|
||||
end
|
||||
|
||||
context 'contact requesting' do
|
||||
describe '#receive_contact_request' do
|
||||
it 'adds a request to pending if it was not sent by user' do
|
||||
r = Request.instantiate(:to => user.person, :from => person)
|
||||
|
|
@ -51,27 +52,27 @@ describe Diaspora::UserModules::Connecting do
|
|||
let(:request_from_myself) {Request.instantiate(:to => user.person, :from => user.person)}
|
||||
before do
|
||||
request_for_user.save
|
||||
user.receive_request(request_for_user, person)
|
||||
user.receive_request(request2_for_user, person_one)
|
||||
user.receive(request_for_user.to_diaspora_xml, person)
|
||||
@received_request = Request.first(:from_id => request_for_user.from.id, :to_id => user.person.id, :sent => false)
|
||||
user.receive(request2_for_user.to_diaspora_xml, person_one)
|
||||
@received_request2 = Request.first(:from_id => request2_for_user.from.id, :to_id => user.person.id, :sent => false)
|
||||
user.reload
|
||||
end
|
||||
|
||||
it "should delete an accepted contact request" do
|
||||
proc { user.accept_contact_request(request2_for_user, aspect) }.should change(
|
||||
user.reload.pending_requests, :count ).by(-1)
|
||||
proc {
|
||||
user.accept_contact_request(@received_request, aspect)
|
||||
}.should change(user.reload.pending_requests, :count ).by(-1)
|
||||
end
|
||||
|
||||
it 'should be able to ignore a pending contact request' do
|
||||
proc { user.ignore_contact_request(request_for_user.id) }.should change(
|
||||
proc { user.ignore_contact_request(@received_request.id) }.should change(
|
||||
user.reload.pending_requests, :count ).by(-1)
|
||||
end
|
||||
|
||||
it 'should ignore a contact request from yourself' do
|
||||
reversed_request = request_from_myself.reverse_for(user)
|
||||
|
||||
user.pending_requests.delete_all
|
||||
user.save
|
||||
|
||||
proc { user.receive_contact_request(reversed_request)
|
||||
}.should raise_error /request from himself/
|
||||
end
|
||||
|
|
@ -79,11 +80,13 @@ describe Diaspora::UserModules::Connecting do
|
|||
|
||||
it 'should not be able to contact request an existing contact' do
|
||||
connect_users(user, aspect, user2, aspect2)
|
||||
proc { user.send_contact_request_to(user2.person, aspect1) }.should raise_error /already connected/
|
||||
proc { user.send_contact_request_to(user2.person, aspect1)
|
||||
}.should raise_error(MongoMapper::DocumentNotValid, /already connected/)
|
||||
end
|
||||
|
||||
it 'should not be able to contact request yourself' do
|
||||
proc { user.send_contact_request_to(nil, aspect) }.should raise_error(RuntimeError, /connect yourself/)
|
||||
proc { user.send_contact_request_to(nil, aspect)
|
||||
}.should raise_error(MongoMapper::DocumentNotValid)
|
||||
end
|
||||
|
||||
it 'should send an email on acceptance if a contact request' do
|
||||
|
|
|
|||
Loading…
Reference in a new issue