master
1require 'rails_helper'
2
3describe Category do
4 describe ".by_slug" do
5 let!(:cookies) { create(:category, slug: 'cookies') }
6 let!(:cup_cakes) { create(:category, slug: 'cup-cakes') }
7 let!(:cakes) { create(:category, slug: 'cakes') }
8
9 it 'finds by slug' do
10 expect(Category.by_slug('cakes')).to eql(cakes)
11 expect(Category.by_slug('CAKES')).to eql(cakes)
12 expect(Category.by_slug('Cakes')).to eql(cakes)
13 end
14 end
15
16 describe "#to_param" do
17 subject { Category.new(name: 'The Cakes', slug: 'cakes') }
18
19 it 'returns the slug as the id' do
20 expect(subject.to_param).to eql('cakes')
21 end
22 end
23
24 describe ".all" do
25 let!(:cookies) { create(:category, slug: 'cookies') }
26 let!(:cup_cakes) { create(:category, slug: 'cup-cakes') }
27 let!(:cakes) { create(:category, slug: 'cakes') }
28
29 it 'loads categories ordered by name' do
30 expect(Category.all.to_a).to eql([cakes, cookies, cup_cakes])
31 end
32 end
33end