make integration test work
This commit is contained in:
parent
8af04e0112
commit
62682b7e64
5 changed files with 21 additions and 34 deletions
2
Gemfile
2
Gemfile
|
@ -71,6 +71,6 @@ group :development, :test do
|
|||
gem 'factory_girl_rails', '~> 4.0'
|
||||
gem 'faker'
|
||||
gem 'capybara'
|
||||
gem 'poltergeist'
|
||||
# webkit and poltergeist don't seem to work yet
|
||||
gem 'database_cleaner'
|
||||
end
|
||||
|
|
|
@ -106,8 +106,6 @@ GEM
|
|||
railties (>= 3.0.0)
|
||||
faker (1.1.2)
|
||||
i18n (~> 0.5)
|
||||
faye-websocket (0.4.7)
|
||||
eventmachine (>= 0.12.0)
|
||||
ffi (1.4.0)
|
||||
haml (3.1.7)
|
||||
haml-rails (0.3.5)
|
||||
|
@ -119,7 +117,6 @@ GEM
|
|||
hashery (2.0.1)
|
||||
highline (1.6.19)
|
||||
hike (1.2.1)
|
||||
http_parser.rb (0.5.3)
|
||||
i18n (0.6.1)
|
||||
inherited_resources (1.3.1)
|
||||
has_scope (~> 0.5.0)
|
||||
|
@ -172,10 +169,6 @@ GEM
|
|||
Ascii85 (~> 1.0.0)
|
||||
hashery (~> 2.0)
|
||||
ruby-rc4
|
||||
poltergeist (1.1.2)
|
||||
capybara (~> 2.0.1)
|
||||
faye-websocket (~> 0.4.4)
|
||||
http_parser.rb (~> 0.5.3)
|
||||
polyamorous (0.5.0)
|
||||
activerecord (~> 3.0)
|
||||
polyglot (0.3.3)
|
||||
|
@ -328,7 +321,6 @@ DEPENDENCIES
|
|||
mailcatcher
|
||||
meta_search
|
||||
mysql2
|
||||
poltergeist
|
||||
prawn
|
||||
quiet_assets
|
||||
rails (~> 3.2.9)
|
||||
|
|
|
@ -27,6 +27,9 @@ FactoryGirl.define do
|
|||
factory :ordergroup do
|
||||
type 'Ordergroup'
|
||||
sequence(:name) {|n| "Order group ##{n}"}
|
||||
# workaround to avoid needing to save the ordergroup
|
||||
# avoids e.g. error after logging in related to applebar
|
||||
after :create do |group| Ordergroup.find(group.id).update_stats! end
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -14,35 +14,35 @@ describe 'product distribution', :type => :feature do
|
|||
# gruppe a bestellt 2(3), weil sie auf jeden fall was von x bekommen will
|
||||
login user_a
|
||||
visit new_group_order_path(:order_id => order.id)
|
||||
find("[data-increase_quantity='#{oa.id}']").click
|
||||
find("[data-increase_quantity='#{oa.id}']").click
|
||||
find("[data-increase_tolerance='#{oa.id}']").click
|
||||
find("[data-increase_tolerance='#{oa.id}']").click
|
||||
find("[data-increase_tolerance='#{oa.id}']").click
|
||||
2.times { find("[data-increase_quantity='#{oa.id}']").click }
|
||||
3.times { find("[data-increase_tolerance='#{oa.id}']").click }
|
||||
find('input[type=submit]').click
|
||||
expect(page).to have_selector('body')
|
||||
# gruppe b bestellt 2(0)
|
||||
login user_b
|
||||
visit new_group_order_path(:order_id => order.id)
|
||||
find("[data-increase_quantity='#{oa.id}']").click
|
||||
find("[data-increase_quantity='#{oa.id}']").click
|
||||
2.times { find("[data-increase_quantity='#{oa.id}']").click }
|
||||
find('input[type=submit]').click
|
||||
expect(page).to have_selector('body')
|
||||
# gruppe a faellt ein dass sie doch noch mehr braucht von x und aendert auf 4(1).
|
||||
login user_a
|
||||
visit edit_group_order_path(order.group_order(user_a.ordergroup), :order_id => order.id)
|
||||
find("[data-increase_quantity='#{oa.id}']").click
|
||||
find("[data-increase_quantity='#{oa.id}']").click
|
||||
find("[data-decrease_tolerance='#{oa.id}']").click
|
||||
find("[data-decrease_tolerance='#{oa.id}']").click
|
||||
2.times { find("[data-increase_quantity='#{oa.id}']").click }
|
||||
2.times { find("[data-decrease_tolerance='#{oa.id}']").click }
|
||||
find('input[type=submit]').click
|
||||
expect(page).to have_selector('body')
|
||||
# die zuteilung
|
||||
order.close!(admin)
|
||||
order.finish!(admin)
|
||||
oa.reload
|
||||
# Endstand: insg. Bestellt wurden 6(1)
|
||||
expect(oa.result).to == 6
|
||||
expect(oa.quantity).to eq(6)
|
||||
expect(oa.tolerance).to eq(1)
|
||||
# Gruppe a bekommt 3 einheiten.
|
||||
goa_a = oa.group_order_articles.where(:ordergroup_id => user_a.ordergroup.id).first
|
||||
expect(goa_a.result).to == 3
|
||||
goa_a = oa.group_order_articles.joins(:group_order).where(:group_orders => {:ordergroup_id => user_a.ordergroup.id}).first
|
||||
expect(goa_a.result).to eq(3)
|
||||
# gruppe b bekommt 2 einheiten.
|
||||
goa_b = oa.group_order_articles.where(:ordergroup_id => user_b.ordergroup.id).first
|
||||
expect(goa_b.result).to == 2
|
||||
goa_b = oa.group_order_articles.joins(:group_order).where(:group_orders => {:ordergroup_id => user_b.ordergroup.id}).first
|
||||
expect(goa_b.result).to eq(2)
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -6,8 +6,6 @@ require 'rspec/autorun'
|
|||
|
||||
require 'capybara/rails'
|
||||
require 'capybara/rspec'
|
||||
require 'capybara/poltergeist'
|
||||
Capybara.javascript_driver = :poltergeist
|
||||
|
||||
# Requires supporting ruby files with custom matchers and macros, etc,
|
||||
# in spec/support/ and its subdirectories.
|
||||
|
@ -66,9 +64,3 @@ ActionDispatch::Integration::Runner.class_eval do
|
|||
{foodcoop: FoodsoftConfig.scope}.merge(options)
|
||||
end
|
||||
end
|
||||
|
||||
# debug driver for tests requiring javascript
|
||||
#Capybara.javascript_driver = :poltergeist_debug
|
||||
#Capybara.register_driver :poltergeist_debug do |app|
|
||||
# Capybara::Poltergeist::Driver.new(app, :debug => true, :inspector => true)
|
||||
#end
|
||||
|
|
Loading…
Reference in a new issue