OSDN Git Service

notes should depends on user when destroy
authorDmitriy Zaporozhets <dzaporozhets@sphereconsultinginc.com>
Thu, 10 Nov 2011 07:46:04 +0000 (09:46 +0200)
committerDmitriy Zaporozhets <dzaporozhets@sphereconsultinginc.com>
Thu, 10 Nov 2011 07:46:04 +0000 (09:46 +0200)
app/models/user.rb
spec/models/user_spec.rb

index c90cf49..1d41028 100644 (file)
@@ -16,6 +16,10 @@ class User < ActiveRecord::Base
     :foreign_key => :author_id,
     :dependent => :destroy
 
+  has_many :notes,
+    :foreign_key => :author_id,
+    :dependent => :destroy
+
   has_many :assigned_issues,
     :class_name => "Issue",
     :foreign_key => :assignee_id,
index d66b1c2..14d4811 100644 (file)
@@ -18,6 +18,21 @@ describe User do
     user = User.new(:email => "test@mail.com")
     user.identifier.should == "test_mail.com"
   end
+
+  describe "dependent" do
+    before do 
+      @user = Factory :user
+      @note = Factory :note, 
+        :author => @user,
+        :project => Factory(:project)
+    end
+
+    it "should destroy all notes with user" do 
+      Note.find_by_id(@note.id).should_not be_nil
+      @user.destroy
+      Note.find_by_id(@note.id).should be_nil
+    end
+  end
 end
 # == Schema Information
 #