mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-02-28 01:53:25 +00:00
Fix bulk order management system spec
This commit is contained in:
@@ -27,7 +27,7 @@ angular.module("admin.lineItems").controller 'LineItemsCtrl', ($scope, $timeout,
|
||||
"order_bill_address_full_name_reversed",
|
||||
"order_bill_address_full_name_with_comma",
|
||||
"order_bill_address_full_name_with_comma_reversed",
|
||||
"variant_product_supplier_name",
|
||||
"variant_supplier_name",
|
||||
"order_email",
|
||||
"order_number",
|
||||
"product_name"].join("_or_") + "_cont"
|
||||
@@ -81,7 +81,7 @@ angular.module("admin.lineItems").controller 'LineItemsCtrl', ($scope, $timeout,
|
||||
"q[order_shipment_state_not_eq]": "shipped",
|
||||
"q[order_completed_at_not_null]": "true",
|
||||
"q[order_distributor_id_eq]": $scope.distributorFilter,
|
||||
"q[variant_product_supplier_id_eq]": $scope.supplierFilter,
|
||||
"q[variant_supplier_id_eq]": $scope.supplierFilter,
|
||||
"q[order_order_cycle_id_eq]": $scope.orderCycleFilter,
|
||||
"q[order_completed_at_gteq]": if formattedStartDate then formattedStartDate else undefined,
|
||||
"q[order_completed_at_lt]": if formattedEndDate then formattedEndDate else undefined,
|
||||
@@ -105,7 +105,7 @@ angular.module("admin.lineItems").controller 'LineItemsCtrl', ($scope, $timeout,
|
||||
Dereferencer.dereferenceAttr $scope.line_items, "supplier", Enterprises.byID
|
||||
$scope.loadOrders()
|
||||
RequestMonitor.load $q.all([$scope.orders.$promise]).then ->
|
||||
Dereferencer.dereferenceAttr $scope.line_items, "order", Orders.byID
|
||||
Dereferencer.dereferenceAttr $scope.line_items, "order", Orders.byID
|
||||
Dereferencer.dereferenceAttr $scope.orders, "distributor", Enterprises.byID
|
||||
Dereferencer.dereferenceAttr $scope.orders, "order_cycle", OrderCycles.byID
|
||||
$scope.bulk_order_form.$setPristine()
|
||||
@@ -133,7 +133,7 @@ angular.module("admin.lineItems").controller 'LineItemsCtrl', ($scope, $timeout,
|
||||
return $http(
|
||||
method: 'GET'
|
||||
url: "/admin/orders/#{order.number}/fire?e=cancel&send_cancellation_email=#{sendEmailCancellation}&restock_items=#{restock_items}")
|
||||
|
||||
|
||||
$scope.deleteLineItem = (lineItem) ->
|
||||
if lineItem.order.item_count == 1
|
||||
ofnCancelOrderAlert((confirm, sendEmailCancellation, restock_items) ->
|
||||
@@ -167,7 +167,7 @@ angular.module("admin.lineItems").controller 'LineItemsCtrl', ($scope, $timeout,
|
||||
$scope.cancelOrder(order, sendEmailCancellation, restock_items).then(-> $scope.refreshData())
|
||||
else
|
||||
Promise.all(LineItems.delete(item) for item in items).then(-> $scope.refreshData())
|
||||
, "js.admin.deleting_item_will_cancel_order")
|
||||
, "js.admin.deleting_item_will_cancel_order")
|
||||
else
|
||||
ofnDeleteLineItemsAlert(() ->
|
||||
Promise.all(LineItems.delete(item) for item in lineItemsToDelete).then(-> $scope.refreshData())
|
||||
@@ -199,7 +199,7 @@ angular.module("admin.lineItems").controller 'LineItemsCtrl', ($scope, $timeout,
|
||||
$scope.refreshData()
|
||||
|
||||
$scope.getLineItemScale = (lineItem) ->
|
||||
if lineItem.units_product && lineItem.units_variant && (lineItem.units_product.variant_unit == "weight" || lineItem.units_product.variant_unit == "volume")
|
||||
if lineItem.units_product && lineItem.units_variant && (lineItem.units_product.variant_unit == "weight" || lineItem.units_product.variant_unit == "volume")
|
||||
lineItem.units_product.variant_unit_scale
|
||||
else
|
||||
1
|
||||
@@ -252,7 +252,7 @@ angular.module("admin.lineItems").controller 'LineItemsCtrl', ($scope, $timeout,
|
||||
scale = $scope.getScale(unitsProduct, unitsVariant)
|
||||
if scale
|
||||
$scope.getFormattedValueWithUnitName(value, unitsProduct, unitsVariant, scale)
|
||||
else
|
||||
else
|
||||
''
|
||||
|
||||
$scope.fulfilled = (sumOfUnitValues) ->
|
||||
|
||||
@@ -9,7 +9,7 @@ module Api
|
||||
has_one :order, serializer: Api::Admin::IdSerializer
|
||||
|
||||
def supplier
|
||||
{ id: object.product.supplier_id }
|
||||
{ id: object.supplier.id }
|
||||
end
|
||||
|
||||
def units_product
|
||||
|
||||
@@ -174,13 +174,13 @@ RSpec.describe '
|
||||
let!(:s1) { create(:supplier_enterprise) }
|
||||
let!(:s2) { create(:supplier_enterprise) }
|
||||
let!(:li1) {
|
||||
create(:line_item_with_shipment, order: o1, product: create(:product, supplier: s1))
|
||||
create(:line_item_with_shipment, order: o1, variant: create(:variant, supplier: s1))
|
||||
}
|
||||
let!(:li2) {
|
||||
create(:line_item_with_shipment, order: o2, product: create(:product, supplier: s2))
|
||||
create(:line_item_with_shipment, order: o2, variant: create(:variant, supplier: s2))
|
||||
}
|
||||
let!(:li3) {
|
||||
create(:line_item_with_shipment, order: o2, product: create(:product, supplier: s2))
|
||||
create(:line_item_with_shipment, order: o2, variant: create(:variant, supplier: s2))
|
||||
}
|
||||
|
||||
before :each do
|
||||
@@ -195,7 +195,7 @@ RSpec.describe '
|
||||
end
|
||||
|
||||
it "by supplier name" do
|
||||
fill_in "quick_filter", with: li1.product.supplier.name
|
||||
fill_in "quick_filter", with: li1.variant.supplier.name
|
||||
page.find('.filter-actions .button.icon-search').click
|
||||
|
||||
expect_line_items_results [li1], [li2, li3]
|
||||
@@ -327,8 +327,8 @@ RSpec.describe '
|
||||
|
||||
it "displays a column for producer" do
|
||||
expect(page).to have_selector "th.producer", text: "Producer"
|
||||
expect(page).to have_selector "td.producer", text: li1.product.supplier.name
|
||||
expect(page).to have_selector "td.producer", text: li2.product.supplier.name
|
||||
expect(page).to have_selector "td.producer", text: li1.supplier.name
|
||||
expect(page).to have_selector "td.producer", text: li2.supplier.name
|
||||
end
|
||||
|
||||
it "displays a column for variant description, which shows only product name " \
|
||||
@@ -586,10 +586,10 @@ RSpec.describe '
|
||||
order_cycle: create(:simple_order_cycle) )
|
||||
}
|
||||
let!(:li1) {
|
||||
create(:line_item_with_shipment, order: o1, product: create(:product, supplier: s1) )
|
||||
create(:line_item_with_shipment, order: o1, variant: create(:variant, supplier: s1) )
|
||||
}
|
||||
let!(:li2) {
|
||||
create(:line_item_with_shipment, order: o1, product: create(:product, supplier: s2) )
|
||||
create(:line_item_with_shipment, order: o1, variant: create(:variant, supplier: s2) )
|
||||
}
|
||||
|
||||
before :each do
|
||||
@@ -743,8 +743,9 @@ RSpec.describe '
|
||||
let!(:d2) { create(:distributor_enterprise) }
|
||||
let!(:oc1) { create(:simple_order_cycle, suppliers: [s1], distributors: [d1] ) }
|
||||
let!(:oc2) { create(:simple_order_cycle, suppliers: [s2], distributors: [d2] ) }
|
||||
let!(:p1) { create(:product, supplier: s1) }
|
||||
let!(:p2) { create(:product, supplier: s2) }
|
||||
let!(:v1) { create(:variant, supplier: s1) }
|
||||
let!(:v2) { create(:variant, supplier: s2) }
|
||||
|
||||
let!(:o1) {
|
||||
create(:order_with_distributor, state: 'complete', shipment_state: 'ready',
|
||||
completed_at: Time.zone.now, distributor: d1,
|
||||
@@ -755,8 +756,8 @@ RSpec.describe '
|
||||
completed_at: Time.zone.now, distributor: d2,
|
||||
order_cycle: oc2 )
|
||||
}
|
||||
let!(:li1) { create(:line_item_with_shipment, order: o1, product: p1 ) }
|
||||
let!(:li2) { create(:line_item_with_shipment, order: o2, product: p2 ) }
|
||||
let!(:li1) { create(:line_item_with_shipment, order: o1, variant: v1 ) }
|
||||
let!(:li2) { create(:line_item_with_shipment, order: o2, variant: v2 ) }
|
||||
|
||||
before :each do
|
||||
visit_bulk_order_management
|
||||
@@ -1262,18 +1263,18 @@ RSpec.describe '
|
||||
completed_at: Time.zone.now, distributor: d2 )
|
||||
}
|
||||
let!(:line_item_distributed) {
|
||||
create(:line_item_with_shipment, order: o1, product: create(:product, supplier: s1) )
|
||||
create(:line_item_with_shipment, order: o1, variant: create(:variant, supplier: s1) )
|
||||
}
|
||||
let!(:line_item_not_distributed) {
|
||||
create(:line_item_with_shipment, order: o2, product: create(:product, supplier: s1) )
|
||||
create(:line_item_with_shipment, order: o2, variant: create(:variant, supplier: s1) )
|
||||
}
|
||||
|
||||
before(:each) do
|
||||
@enterprise_user = create(:user)
|
||||
@enterprise_user.enterprise_roles.build(enterprise: s1).save
|
||||
@enterprise_user.enterprise_roles.build(enterprise: d1).save
|
||||
enterprise_user = create(:user)
|
||||
enterprise_user.enterprise_roles.build(enterprise: s1).save
|
||||
enterprise_user.enterprise_roles.build(enterprise: d1).save
|
||||
|
||||
login_as @enterprise_user
|
||||
login_as enterprise_user
|
||||
end
|
||||
|
||||
it "displays a Bulk Management Tab under the Orders item" do
|
||||
|
||||
Reference in New Issue
Block a user