cleanup and expand receive integration test
This commit is contained in:
parent
6e60f94484
commit
8f14ab31f3
1 changed files with 24 additions and 14 deletions
|
@ -26,6 +26,14 @@ describe 'receiving an order', :type => :feature do
|
||||||
oa.reload
|
oa.reload
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def check_quantities(units, q1, q2)
|
||||||
|
reload_articles
|
||||||
|
expect(oa.units).to eq units
|
||||||
|
expect(goa1.result).to be_within(1e-3).of q1
|
||||||
|
expect(goa2.result).to be_within(1e-3).of q2
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
describe :type => :feature, :js => true do
|
describe :type => :feature, :js => true do
|
||||||
before { login admin }
|
before { login admin }
|
||||||
|
|
||||||
|
@ -51,12 +59,10 @@ describe 'receiving an order', :type => :feature do
|
||||||
it 'does not change anything when received is ordered' do
|
it 'does not change anything when received is ordered' do
|
||||||
set_quantities [2,0], [3,2]
|
set_quantities [2,0], [3,2]
|
||||||
visit receive_order_path(order)
|
visit receive_order_path(order)
|
||||||
expect {
|
|
||||||
fill_in "order_articles_#{oa.id}_units_received", :with => oa.units_to_order
|
fill_in "order_articles_#{oa.id}_units_received", :with => oa.units_to_order
|
||||||
find('input[type="submit"]').click
|
find('input[type="submit"]').click
|
||||||
expect(page).to have_selector('body')
|
expect(page).to have_selector('body')
|
||||||
reload_articles
|
check_quantities 2, 2, 4
|
||||||
}.to_not change{[oa.units, goa1.result, goa2.result]}
|
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'redistributes properly when received is more' do
|
it 'redistributes properly when received is more' do
|
||||||
|
@ -65,10 +71,7 @@ describe 'receiving an order', :type => :feature do
|
||||||
fill_in "order_articles_#{oa.id}_units_received", :with => 3
|
fill_in "order_articles_#{oa.id}_units_received", :with => 3
|
||||||
find('input[type="submit"]').click
|
find('input[type="submit"]').click
|
||||||
expect(page).to have_selector('body')
|
expect(page).to have_selector('body')
|
||||||
reload_articles
|
check_quantities 3, 2, 5
|
||||||
expect(oa.units).to eq 3
|
|
||||||
expect(goa1.result).to be_within(1e-3).of 2
|
|
||||||
expect(goa2.result).to be_within(1e-3).of 5
|
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'redistributes properly when received is less' do
|
it 'redistributes properly when received is less' do
|
||||||
|
@ -77,10 +80,7 @@ describe 'receiving an order', :type => :feature do
|
||||||
fill_in "order_articles_#{oa.id}_units_received", :with => 1
|
fill_in "order_articles_#{oa.id}_units_received", :with => 1
|
||||||
find('input[type="submit"]').click
|
find('input[type="submit"]').click
|
||||||
expect(page).to have_selector('body')
|
expect(page).to have_selector('body')
|
||||||
reload_articles
|
check_quantities 1, 2, 1
|
||||||
expect(oa.units).to eq 1
|
|
||||||
expect(goa1.result).to be_within(1e-3).of 2
|
|
||||||
expect(goa2.result).to be_within(1e-3).of 1
|
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'has a locked field when edited elsewhere' do
|
it 'has a locked field when edited elsewhere' do
|
||||||
|
@ -91,6 +91,16 @@ describe 'receiving an order', :type => :feature do
|
||||||
expect(find("#order_articles_#{oa.id}_units_received")).to be_disabled
|
expect(find("#order_articles_#{oa.id}_units_received")).to be_disabled
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it 'leaves locked rows alone when submitted' do
|
||||||
|
set_quantities [2,0], [3,2]
|
||||||
|
goa1.result = goa1.result + 1
|
||||||
|
goa1.save!
|
||||||
|
visit receive_order_path(order)
|
||||||
|
find('input[type="submit"]').click
|
||||||
|
expect(page).to have_selector('body')
|
||||||
|
check_quantities 2, 3, 4
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue