require 'spec_helper' describe 'WulffeldSlug' do context ":case option" do context ":case => :upcase" do it "should upcase the slug" do user = Actor.new(:name => "Geoffrey Rush") user.save! user.reload.slug.should == 'GEOFFREY-RUSH' end end context ":case => :preserve" do it "should preserve capitalization" do user = User.new(:login => "Batty") user.save! user.reload.slug.should == 'Batty' end end end context "new" do let(:article) do Article.new(:title => "Blade Runner") end it "creates a slug" do article.save article.slug.should == "blade-runner" end it "creates a unique slug" do article.save article.slug.should == "blade-runner-1" end it "creates a slug without superfluous spaces" do article.title = " The Shawshank Redemption " article.save article.slug.should == "the-shawshank-redemption" end end context "dynamic slug fields" do it "should create a slug based on the non-nil field(s)" do user = User.new(:login => "deckard") user.save! user.reload.slug.should == 'deckard' end end end