Commit 46a9bb1f
Changed files (2)
app
models
spec
models
app/models/category.rb
@@ -1,6 +1,6 @@
class Category < ActiveRecord::Base
has_many :creations
- default_scope -> { order(:name) }
+ default_scope -> { order(:slug) }
scope :by_slug, ->(category) { find_by(slug: category.downcase)}
spec/models/category_spec.rb
@@ -2,14 +2,14 @@ require 'rails_helper'
describe Category do
describe ".by_slug" do
- let!(:category) { create(:category, slug: 'cookies') }
- let!(:category) { create(:category, slug: 'cup-cakes') }
- let!(:category) { create(:category, slug: 'cakes') }
+ let!(:cookies) { create(:category, slug: 'cookies') }
+ let!(:cup_cakes) { create(:category, slug: 'cup-cakes') }
+ let!(:cakes) { create(:category, slug: 'cakes') }
it 'finds by slug' do
- expect(Category.by_slug('cakes')).to eql(category)
- expect(Category.by_slug('CAKES')).to eql(category)
- expect(Category.by_slug('Cakes')).to eql(category)
+ expect(Category.by_slug('cakes')).to eql(cakes)
+ expect(Category.by_slug('CAKES')).to eql(cakes)
+ expect(Category.by_slug('Cakes')).to eql(cakes)
end
end
@@ -20,4 +20,14 @@ describe Category do
expect(subject.to_param).to eql('cakes')
end
end
+
+ describe ".all" do
+ let!(:cookies) { create(:category, slug: 'cookies') }
+ let!(:cup_cakes) { create(:category, slug: 'cup-cakes') }
+ let!(:cakes) { create(:category, slug: 'cakes') }
+
+ it 'loads categories ordered by name' do
+ expect(Category.all.to_a).to eql([cakes, cookies, cup_cakes])
+ end
+ end
end