aboutsummaryrefslogtreecommitdiffstats
path: root/spec
diff options
context:
space:
mode:
authorUģis Ozols <ugis.ozolss@gmail.com>2014-02-03 09:50:29 +0200
committerUģis Ozols <ugis.ozolss@gmail.com>2014-02-03 09:50:29 +0200
commit01ff510bf009b6e7ad573846fdb5fb284fb08eed (patch)
tree92f8f18d7abe3c79791772e5e06a6e050e9bf5c0 /spec
parentc3b666e8730ffdc07dee5c6604ba8b109c320e2b (diff)
downloadrefinerycms-blog-01ff510bf009b6e7ad573846fdb5fb284fb08eed.tar.gz
refinerycms-blog-01ff510bf009b6e7ad573846fdb5fb284fb08eed.tar.bz2
refinerycms-blog-01ff510bf009b6e7ad573846fdb5fb284fb08eed.zip
Tell friendly_id to regenerate slug if title has changed.
This is due to change in friendly_id 5.0.x where it doesn’t regenerate slug when record is updated.
Diffstat (limited to 'spec')
-rw-r--r--spec/models/refinery/blog/post_spec.rb24
1 files changed, 24 insertions, 0 deletions
diff --git a/spec/models/refinery/blog/post_spec.rb b/spec/models/refinery/blog/post_spec.rb
index 8b156cb..99946b8 100644
--- a/spec/models/refinery/blog/post_spec.rb
+++ b/spec/models/refinery/blog/post_spec.rb
@@ -234,6 +234,30 @@ module Refinery
end
end
+ describe "#should_generate_new_friendly_id?" do
+ context "when custom_url changes" do
+ it "regenerates slug upon save" do
+ post = FactoryGirl.create(:blog_post, :custom_url => "Test Url")
+
+ post.custom_url = "Test Url 2"
+ post.save!
+
+ expect(post.slug).to eq("test-url-2")
+ end
+ end
+
+ context "when title changes" do
+ it "regenerates slug upon save" do
+ post = FactoryGirl.create(:blog_post, :title => "Test Title")
+
+ post.title = "Test Title 2"
+ post.save!
+
+ expect(post.slug).to eq("test-title-2")
+ end
+ end
+ end
+
end
end
end