Fix bulk order management system spec

This commit is contained in:
Gaetan Craig-Riou
2024-05-21 15:13:28 +10:00
parent 0167357f8f
commit add6d15fc4
3 changed files with 27 additions and 26 deletions

View File

@@ -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) ->

View File

@@ -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

View File

@@ -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