foodsoft/spec/models/article_spec.rb

44 lines
1.2 KiB
Ruby

require 'spec_helper'
describe Article do
let(:supplier) { FactoryGirl.create :supplier }
let(:article) { FactoryGirl.create :article, supplier: supplier }
it 'has a unique name' do
article2 = FactoryGirl.build :article, supplier: supplier, name: article.name
article2.should_not be_valid
end
it 'computes the gross price correctly' do
article.deposit = 0
article.tax = 12
article.gross_price.should == (article.price * 1.12).round(2)
article.deposit = 1.20
article.gross_price.should == ((article.price + 1.20) * 1.12).round(2)
end
it 'gross price >= net price' do
article.gross_price.should >= article.price
end
it 'fc-price > gross price' do
article.fc_price.should > article.gross_price
end
it 'knows when it is deleted' do
supplier.deleted?.should be_false
supplier.mark_as_deleted
supplier.deleted?.should be_true
end
it 'keeps a price history' do
article.article_prices.count.should == 1
oldprice = article.price
article.price += 1
article.save!
article.article_prices.count.should == 2
article.article_prices[0].price.should == article.price
article.article_prices[-1].price.should == oldprice
end
end