uses FactoryGirl helpers

This commit is contained in:
Manuel Wiedenmann 2013-09-18 12:44:41 +02:00
parent 1cf2145ff6
commit f462e70e49
17 changed files with 65 additions and 63 deletions

View file

@ -1,8 +1,8 @@
require 'spec_helper'
require_relative '../spec_helper'
describe Article do
let(:supplier) { FactoryGirl.create :supplier }
let(:article) { FactoryGirl.create :article, supplier: supplier }
let(:supplier) { create :supplier }
let(:article) { create :article, supplier: supplier }
it 'has a unique name' do
article2 = FactoryGirl.build :article, supplier: supplier, name: article.name
@ -43,5 +43,4 @@ describe Article do
article.save!
expect(article.article_prices.all.map(&:price)).to eq([article.price, oldprice])
end
end

View file

@ -1,10 +1,10 @@
require 'spec_helper'
require_relative '../spec_helper'
describe GroupOrderArticle do
let(:user) { FactoryGirl.create :user, groups: [FactoryGirl.create(:ordergroup)] }
let(:order) { FactoryGirl.create(:order).reload }
let(:go) { FactoryGirl.create :group_order, order: order, ordergroup: user.ordergroup }
let(:goa) { FactoryGirl.create :group_order_article, group_order: go, order_article: order.order_articles.first }
let(:user) { create :user, groups: [create(:ordergroup)] }
let(:order) { create(:order) }
let(:go) { create :group_order, order: order, ordergroup: user.ordergroup }
let(:goa) { create :group_order_article, group_order: go, order_article: order.order_articles.first }
it 'has zero quantity by default' do expect(goa.quantity).to eq(0) end
it 'has zero tolerance by default' do expect(goa.tolerance).to eq(0) end
@ -13,9 +13,9 @@ describe GroupOrderArticle do
it 'has zero total price by default' do expect(goa.total_price).to eq(0) end
describe do
let(:article) { FactoryGirl.create :article, supplier: order.supplier, unit_quantity: 1 }
let(:article) { create :article, supplier: order.supplier, unit_quantity: 1 }
let(:oa) { order.order_articles.create(:article => article) }
let(:goa) { FactoryGirl.create :group_order_article, group_order: go, order_article: oa }
let(:goa) { create :group_order_article, group_order: go, order_article: oa }
it 'can be ordered by piece' do
goa.update_quantities(1, 0)
@ -42,7 +42,6 @@ describe GroupOrderArticle do
expect(goa.quantity).to eq(0)
expect(goa.tolerance).to eq(0)
end
end
end

View file

@ -1,8 +1,8 @@
require 'spec_helper'
require_relative '../spec_helper'
describe GroupOrder do
let(:user) { FactoryGirl.create :user, groups: [FactoryGirl.create(:ordergroup)] }
let(:order) { FactoryGirl.create :order }
let(:user) { create :user, groups: [create(:ordergroup)] }
let(:order) { create :order }
# the following two tests are currently disabled - https://github.com/foodcoops/foodsoft/issues/158
@ -15,7 +15,7 @@ describe GroupOrder do
#end
describe do
let(:go) { FactoryGirl.create :group_order, order: order, ordergroup: user.ordergroup }
let(:go) { create :group_order, order: order, ordergroup: user.ordergroup }
it 'has zero price initially' do
expect(go.price).to eq(0)

View file

@ -1,22 +1,22 @@
require 'spec_helper'
require_relative '../spec_helper'
describe Order do
it 'needs a supplier' do
expect(FactoryGirl.build(:order, supplier: nil)).to be_invalid
expect(build(:order, supplier: nil)).to be_invalid
end
it 'needs order articles' do
supplier = FactoryGirl.create :supplier, article_count: 0
expect(FactoryGirl.build(:order, supplier: supplier)).to be_invalid
supplier = create :supplier, article_count: 0
expect(build(:order, supplier: supplier)).to be_invalid
end
it 'can be created' do
expect(FactoryGirl.build(:order, article_count: 1)).to be_valid
expect(build(:order, article_count: 1)).to be_valid
end
describe 'with articles' do
let(:order) { FactoryGirl.create :order }
let(:order) { create :order }
it 'is open by default' do expect(order).to be_open end
it 'is not finished by default' do expect(order).to_not be_finished end

View file

@ -1,15 +1,15 @@
require 'spec_helper'
require_relative '../spec_helper'
describe Supplier do
let(:supplier) { FactoryGirl.create :supplier }
let(:supplier) { create :supplier }
it 'has a unique name' do
supplier2 = FactoryGirl.build :supplier, name: supplier.name
supplier2 = build :supplier, name: supplier.name
expect(supplier2).to be_invalid
end
it 'has valid articles' do
supplier = FactoryGirl.create :supplier, article_count: true
supplier = create :supplier, article_count: true
supplier.articles.all.each {|a| expect(a).to be_valid }
end

View file

@ -1,9 +1,9 @@
require 'spec_helper'
require_relative '../spec_helper'
describe User do
it 'is correctly created' do
user = FactoryGirl.create :user,
user = create :user,
nick: 'johnnydoe', first_name: 'Johnny', last_name: 'DoeBar',
email: 'johnnydoe@foodcoop.test', phone: '+1234567890'
expect(user.nick).to eq('johnnydoe')
@ -15,7 +15,7 @@ describe User do
end
describe 'does not have the role' do
let(:user) { FactoryGirl.create :user }
let(:user) { create :user }
it 'admin' do expect(user.role_admin?).to be_false end
it 'finance' do expect(user.role_finance?).to be_false end
it 'article_meta' do expect(user.role_article_meta?).to be_false end
@ -24,7 +24,7 @@ describe User do
end
describe do
let(:user) { FactoryGirl.create :user, password: 'blahblah' }
let(:user) { create :user, password: 'blahblah' }
it 'can authenticate with correct password' do
expect(User.authenticate(user.nick, 'blahblah')).to be_true
@ -44,15 +44,15 @@ describe User do
end
it 'has a unique nick' do
expect(FactoryGirl.build(:user, nick: user.nick, email: "x-#{user.email}")).to be_invalid
expect(build(:user, nick: user.nick, email: "x-#{user.email}")).to be_invalid
end
it 'has a unique email' do
expect(FactoryGirl.build(:user, email: "#{user.email}")).to be_invalid
expect(build(:user, email: "#{user.email}")).to be_invalid
end
end
describe 'admin' do
let(:user) { FactoryGirl.create :admin }
let(:user) { create :admin }
it 'default admin role' do expect(user.role_admin?).to be_true end
end