42 lines
1.3 KiB
Ruby
42 lines
1.3 KiB
Ruby
# Copyright (c) 2010-2011, Diaspora Inc. This file is
|
|
# licensed under the Affero General Public License version 3 or later. See
|
|
# the COPYRIGHT file.
|
|
|
|
require 'spec_helper'
|
|
|
|
describe 'deleteing your account' do
|
|
shared_examples_for 'it removes the person associations' do
|
|
it "removes all of the person's posts" do
|
|
Post.where(:author_id => @person.id).count.should == 0
|
|
end
|
|
|
|
it 'deletes all person contacts' do
|
|
Contact.where(:person_id => @person.id).should be_empty
|
|
end
|
|
|
|
it 'deletes all mentions' do
|
|
@person.mentions.should be_empty
|
|
end
|
|
|
|
it "removes all of the person's photos" do
|
|
Photo.where(:author_id => @person.id).should be_empty
|
|
end
|
|
|
|
it 'sets the person object as closed and the profile is cleared' do
|
|
@person.reload.closed_account.should be_true
|
|
|
|
@person.profile.reload.first_name.should be_blank
|
|
@person.profile.reload.last_name.should be_blank
|
|
end
|
|
|
|
it 'deletes only the converersation visibility for the deleted user' do
|
|
ConversationVisibility.where(:person_id => alice.person.id).should_not be_empty
|
|
ConversationVisibility.where(:person_id => @person.id).should be_empty
|
|
end
|
|
|
|
it "deletes the share visibilities on the person's posts" do
|
|
ShareVisibility.for_contacts_of_a_person(@person).should be_empty
|
|
end
|
|
end
|
|
end
|
|
|