diff --git a/spec/models/aspect_spec.rb b/spec/models/aspect_spec.rb
index ae8adb5bd28bc76c3a6e17e5b703040a317ce34c..ff30f64c1266bfb3ac6903ea8a68b0d12e002612 100644
--- a/spec/models/aspect_spec.rb
+++ b/spec/models/aspect_spec.rb
@@ -59,8 +59,9 @@ describe Aspect do
     end
 
     it 'has no uniqueness between users' do
+      aspect = user.aspects.create(:name => "New Aspect")
       aspect2 = user2.aspects.create(:name => aspect.name)
-      aspect2.valid?.should be_true
+      aspect2.should be_valid
     end
   end
 
@@ -76,7 +77,7 @@ describe Aspect do
     end
 
     it 'should have contacts' do
-      aspect.contacts.size.should == 1
+      aspect.contacts.size.should == 2
     end
 
     describe '#aspects_with_person' do
diff --git a/spec/models/user/connecting_spec.rb b/spec/models/user/connecting_spec.rb
index d276553525ff1e0b3ff2b3642612e8b8def9bae6..fb49ef4f64ed683e82d3bfcfa3e8aac743266b28 100644
--- a/spec/models/user/connecting_spec.rb
+++ b/spec/models/user/connecting_spec.rb
@@ -60,6 +60,12 @@ describe Diaspora::UserModules::Connecting do
         Request.where(:recipient_id => user.person.id).all.should include @r
       end
 
+      it 'creates no contact' do
+        lambda {
+          received_req = @r.receive(user, person_one)
+        }.should_not change(Contact, :count)
+      end
+
       it 'enqueues a mail job' do
         Resque.should_receive(:enqueue).with(Jobs::MailRequestReceived, user.id, person.id)
         zord = Postzord::Receiver.new(user, :object => @r, :person => person)
@@ -131,11 +137,6 @@ describe Diaspora::UserModules::Connecting do
     describe 'multiple users accepting/rejecting the same person' do
 
       before do
-        Request.where(:recipient_id => user.person.id).count.should == 0
-        user.contacts.empty?.should be true
-        Request.where(:recipient_id => user2.person.id).count.should == 0
-        user2.contacts.empty?.should be true
-
         @request1 = Request.diaspora_initialize(:to => user.person, :from => person_one)
         @request2 = Request.diaspora_initialize(:to => user2.person, :from => person_one)
         @request3 =  Request.diaspora_initialize(:to => user2.person, :from => user.person)
@@ -214,29 +215,33 @@ describe Diaspora::UserModules::Connecting do
 
     describe 'a user accepting rejecting multiple people' do
       before do
-        @request = Request.diaspora_initialize(:to => user.person, :from => person_one)
-        @request_two = Request.diaspora_initialize(:to => user.person, :from => person_two)
+        request = Request.diaspora_initialize(:to => user.person, :from => person_one)
+        @received_request = request.receive(user, person_one)
       end
-
-      it "keeps the right counts of contacts" do
-        received_req = @request.receive(user, person_one)
-
-        Request.where(:recipient_id => user.person.id).count.should == 1
-        user.reload.contacts.size.should be 0
-
-        received_req2 = @request_two.receive(user, person_two)
-        Request.where(:recipient_id => user.person.id).count.should == 2
-        user.reload.contacts.size.should be 0
-
-        user.accept_contact_request received_req, aspect
-        Request.where(:recipient_id => user.person.id).count.should == 1
-        user.reload.contacts.size.should be 1
-        user.contact_for(person_one).should_not be_nil
-
-        user.ignore_contact_request received_req2.id
-        Request.where(:recipient_id => user.person.id).count.should == 0
-        user.reload.contacts.size.should be 1
-        user.contact_for(person_two).should be_nil
+      describe '#accept_contact_request' do
+        it "deletes the received request" do
+          lambda {
+            user.accept_contact_request(@received_request, aspect)
+          }.should change(Request, :count).by(-1)
+        end
+        it "creates a new contact" do
+          lambda {
+            user.accept_contact_request(@received_request, aspect)
+          }.should change(Contact, :count).by(1)
+          user.contact_for(person_one).should_not be_nil
+        end
+      end
+      describe '#ignore_contact_request' do
+        it "removes the request" do
+          lambda {
+            user.ignore_contact_request(@received_request.id)
+          }.should change(Request, :count).by(-1)
+        end
+        it "creates no new contact" do
+          lambda {
+            user.ignore_contact_request(@received_request)
+          }.should_not change(Contact, :count)
+        end
       end
     end
 
diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb
index ef1a485699ca6bdf3b8a5a3b0d885726bbb2ebbe..bf9eeac28123ea80985b9631efd5eae6d9cfd73d 100644
--- a/spec/models/user_spec.rb
+++ b/spec/models/user_spec.rb
@@ -16,9 +16,9 @@ describe User do
 
   describe 'overwriting people' do
     it 'does not overwrite old users with factory' do
-      new_user = Factory.create(:user, :id => user.id)
-      new_user.persisted?.should be_true
-      new_user.id.should_not == user.id
+      lambda {
+        new_user = Factory.create(:user, :id => user.id)
+      }.should raise_error ActiveRecord::RecordNotUnique
     end
     it 'does not overwrite old users with create' do
           params = {:username => "ohai",
@@ -266,9 +266,9 @@ describe User do
 
     it "only pushes to non-pending contacts" do
       connect_users(user, aspect, user2, aspect2)
-      user.contacts.count.should == 1
-      user.send_contact_request_to(Factory(:user).person, aspect)
-      user.contacts.count.should == 2
+      lambda {
+        user.send_contact_request_to(Factory(:user).person, aspect)
+      }.should change(user.contacts, :count).by(1)
 
       m = mock()
       m.should_receive(:post)
@@ -338,7 +338,9 @@ describe User do
 
     it 'should remove all aspects' do
       aspect
-      lambda {user.destroy}.should change{user.aspects.reload.count}.by(-1)
+      lambda {
+        user.destroy
+      }.should change{ user.aspects(true).count }.by(-2)
     end
 
     describe '#remove_person' do
@@ -360,9 +362,10 @@ describe User do
     describe '#disconnect_everyone' do
 
       it 'should send retractions to remote poeple' do
+        person = user2.person
         user2.delete
-        user2.person.owner_id = nil
-        user2.person.save
+        person.owner_id = nil
+        person.save
         user.activate_contact(user2.person, aspect)
 
         user.should_receive(:disconnect).once
diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb
index 2de47f3f60e9aa99821a96384b05b9cb890debfc..35323e43b772a36ba011c2c49dff7f36a98ee414 100644
--- a/spec/spec_helper.rb
+++ b/spec/spec_helper.rb
@@ -23,10 +23,10 @@ RSpec.configure do |config|
   config.mock_with :mocha
   config.mock_with :rspec
 
+ # config.fixture_path = "#{Rails.root}/spec/fixtures"
+ # config.global_fixtures = :all
   config.use_transactional_fixtures = true
 
-#  config.global_fixtures = :all
-
   config.before(:each) do
     I18n.locale = :en
     RestClient.stub!(:post).and_return(FakeHttpRequest.new(:success))
diff --git a/spec/support/fixture_builder.rb b/spec/support/fixture_builder.rb
index 658c56615fc9d3ca47600d8ee13f863344cf6c46..e6681b620168ace441279f8fae385ded652b7fde 100644
--- a/spec/support/fixture_builder.rb
+++ b/spec/support/fixture_builder.rb
@@ -11,6 +11,6 @@ FixtureBuilder.configure do |fbuilder|
 
     connect_users(bob, bob.aspects.first, alice, alice.aspects.first)
     connect_users(bob, bob.aspects.first, eve, eve.aspects.first)
-  end
+   end
 end