mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-01-24 20:36:49 +00:00
Add feature spec to validate load all and select all exchange products
This commit is contained in:
@@ -522,6 +522,45 @@ feature '
|
||||
expect(page).not_to have_selector 'table.exchanges tr.supplier'
|
||||
end
|
||||
|
||||
describe "editing an order cycle with multiple pages of products", js: true do
|
||||
let(:order_cycle) { create(:order_cycle) }
|
||||
let(:supplier_enterprise) { order_cycle.exchanges.incoming.first.sender }
|
||||
let!(:new_product) { create(:product, supplier: supplier_enterprise) }
|
||||
|
||||
before do
|
||||
stub_const("Api::ExchangeProductsController::DEFAULT_PER_PAGE", 1)
|
||||
|
||||
quick_login_as_admin
|
||||
visit admin_order_cycle_incoming_path(order_cycle)
|
||||
expect(page).to have_content "1 / 2 selected"
|
||||
|
||||
page.find("tr.supplier-#{supplier_enterprise.id} td.products").click
|
||||
expect(page).to have_selector ".exchange-product-details"
|
||||
|
||||
expect(page).to have_content "1 of 2 Products Loaded"
|
||||
expect(page).to_not have_content new_product.name
|
||||
end
|
||||
|
||||
scenario "load all products" do
|
||||
page.find(".exchange-load-all-variants a").click
|
||||
|
||||
expect_all_products_loaded
|
||||
end
|
||||
|
||||
scenario "select all products" do
|
||||
check "order_cycle_incoming_exchange_0_select_all_variants"
|
||||
|
||||
expect_all_products_loaded
|
||||
|
||||
expect(page).to have_checked_field "order_cycle_incoming_exchange_0_variants_#{new_product.variants.first.id}", disabled: false
|
||||
end
|
||||
|
||||
def expect_all_products_loaded
|
||||
expect(page).to have_content new_product.name.upcase
|
||||
expect(page).to have_content "2 of 2 Products Loaded"
|
||||
end
|
||||
end
|
||||
|
||||
scenario "updating many order cycle opening/closing times at once", js: true do
|
||||
# Given three order cycles
|
||||
oc1 = create(:simple_order_cycle)
|
||||
|
||||
Reference in New Issue
Block a user