Skip to content

Commit a1f54b4

Browse files
author
Kyle d'Oliveira
committed
Add a spec around the namespaced classes that modify sti_name of a class
1 parent a3ffb36 commit a1f54b4

4 files changed

Lines changed: 17 additions & 1 deletion

File tree

spec/polymorphic_integer_type_spec.rb

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,13 @@
2424
end
2525
end
2626

27+
context "when the source is a class that modifies the sti_name" do
28+
it "properly sets the source_type to the modified class name" do
29+
link = Link.new(source: Namespaced::Animal.new)
30+
expect(link.source_type).to eql "Animal"
31+
end
32+
end
33+
2734
context "when querying the associations" do
2835
let(:source) { cat }
2936
let(:target) { nil }

spec/spec_helper.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
require 'support/configuration'
55
require 'support/link'
66
require 'support/animal'
7+
require 'support/namespaced_animal'
78
require 'support/dog'
89
require 'support/person'
910
require 'support/food'

spec/support/animal.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,5 @@ class Animal < ActiveRecord::Base
33

44
belongs_to :owner, class_name: "Person"
55
has_many :source_links, as: :source, integer_type: true, class_name: "Link"
6-
end
6+
7+
end

spec/support/namespaced_animal.rb

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
module Namespaced
2+
class Animal < ActiveRecord::Base
3+
4+
self.store_full_sti_class = false
5+
self.table_name = "animals"
6+
end
7+
end

0 commit comments

Comments
 (0)