diff --git a/app/models/task.rb b/app/models/task.rb new file mode 100644 index 0000000..c64096d --- /dev/null +++ b/app/models/task.rb @@ -0,0 +1,4 @@ +class Task < ActiveRecord::Base + belongs_to :requestor, :class_name => 'Profile', :foreign_key => :requestor_id + belongs_to :target, :class_name => 'Profile', :foreign_key => :target_id +end diff --git a/db/migrate/017_create_tasks.rb b/db/migrate/017_create_tasks.rb new file mode 100644 index 0000000..6ca2f4a --- /dev/null +++ b/db/migrate/017_create_tasks.rb @@ -0,0 +1,16 @@ +class CreateTasks < ActiveRecord::Migration + def self.up + create_table :tasks do |t| + + t.column :data, :text + t.column :status, :integer + + t.column :requestor_id, :integer + t.column :target_id, :integer + end + end + + def self.down + drop_table :tasks + end +end diff --git a/test/unit/task_test.rb b/test/unit/task_test.rb new file mode 100644 index 0000000..ef07fb6 --- /dev/null +++ b/test/unit/task_test.rb @@ -0,0 +1,24 @@ +require File.dirname(__FILE__) + '/../test_helper' + +class TaskTest < Test::Unit::TestCase + + def test_relationship_with_requestor + t = Task.new + assert_raise ActiveRecord::AssociationTypeMismatch do + t.requestor = 1 + end + assert_nothing_raised do + t.requestor = Profile.new + end + end + + def test_relationship_with_target + t = Task.new + assert_raise ActiveRecord::AssociationTypeMismatch do + t.target = 1 + end + assert_nothing_raised do + t.target = Profile.new + end + end +end -- libgit2 0.21.2