diff --git a/app/models/user.rb b/app/models/user.rb index c90cf49..1d41028 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -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, diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index d66b1c2..14d4811 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -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 # -- libgit2 0.21.2