parent
163ffdb19b
commit
04035c3eb7
2 changed files with 8 additions and 3 deletions
|
|
@ -5,7 +5,7 @@
|
|||
class Reshare < Post
|
||||
belongs_to :root, class_name: "Post", foreign_key: :root_guid, primary_key: :guid, optional: true
|
||||
validate :root_must_be_public
|
||||
validates_presence_of :root, :on => :create
|
||||
validates :root, presence: true, on: :create, if: proc {|reshare| reshare.author.local? }
|
||||
validates :root_guid, uniqueness: {scope: :author_id}, allow_nil: true
|
||||
delegate :author, to: :root, prefix: true
|
||||
|
||||
|
|
|
|||
|
|
@ -4,11 +4,16 @@ describe Reshare, type: :model do
|
|||
end
|
||||
|
||||
context "validation" do
|
||||
it "requires root" do
|
||||
reshare = FactoryGirl.build(:reshare, root: nil)
|
||||
it "requires root when the author is local" do
|
||||
reshare = FactoryGirl.build(:reshare, root: nil, author: alice.person)
|
||||
expect(reshare).not_to be_valid
|
||||
end
|
||||
|
||||
it "doesn't require root when the author is remote" do
|
||||
reshare = FactoryGirl.build(:reshare, root: nil, author: remote_raphael)
|
||||
expect(reshare).to be_valid
|
||||
end
|
||||
|
||||
it "require public root" do
|
||||
reshare = FactoryGirl.build(:reshare, root: FactoryGirl.create(:status_message, public: false))
|
||||
expect(reshare).not_to be_valid
|
||||
|
|
|
|||
Loading…
Reference in a new issue