From a260a3fa564440b464ba763186a313e271813d47 Mon Sep 17 00:00:00 2001 From: Rob H Date: Thu, 27 Mar 2014 13:32:26 +1100 Subject: [PATCH] BOM: Fixed bug causing Order Cycles filter to break in some cases --- .../admin/bulk_order_management.js.coffee | 14 +++------- .../unit/bulk_order_management_spec.js.coffee | 27 ------------------- 2 files changed, 3 insertions(+), 38 deletions(-) diff --git a/app/assets/javascripts/admin/bulk_order_management.js.coffee b/app/assets/javascripts/admin/bulk_order_management.js.coffee index 7af90f52ad..a3783588c6 100644 --- a/app/assets/javascripts/admin/bulk_order_management.js.coffee +++ b/app/assets/javascripts/admin/bulk_order_management.js.coffee @@ -157,7 +157,6 @@ orderManagementModule.controller "AdminOrderMgmtCtrl", [ $scope.distributorFilter = $scope.distributors[0] dataFetcher("/api/order_cycles/managed").then (data) -> $scope.orderCycles = data - $scope.matchOrderCycleEnterprises orderCycle for orderCycle in $scope.orderCycles $scope.orderCycles.unshift blankOption() $scope.orderCycleFilter = $scope.orderCycles[0] $scope.fetchOrders() @@ -194,17 +193,10 @@ orderManagementModule.controller "AdminOrderMgmtCtrl", [ lineItemOrder.order_cycle = $scope.matchObject $scope.orderCycles, order.order_cycle, null lineItemOrder - $scope.matchOrderCycleEnterprises = (orderCycle) -> - for i,distributor of orderCycle.distributors - orderCycle.distributors[i] = $scope.matchObject $scope.distributors, distributor, null - for i,supplier of orderCycle.suppliers - orderCycle.suppliers[i] = $scope.matchObject $scope.suppliers, supplier, null - $scope.matchObject = (list, testObject, noMatch) -> for i, object of list if angular.equals(object, testObject) return object - else return noMatch $scope.deleteLineItem = (lineItem) -> @@ -288,9 +280,9 @@ orderManagementModule.controller "AdminOrderMgmtCtrl", [ orderManagementModule.filter "selectFilter", (blankOption) -> return (lineItems,selectedSupplier,selectedDistributor,selectedOrderCycle) -> filtered = [] - filtered.push lineItem for lineItem in lineItems when (angular.equals(selectedSupplier,blankOption()) || lineItem.supplier == selectedSupplier) && - (angular.equals(selectedDistributor,blankOption()) || lineItem.order.distributor == selectedDistributor) && - (angular.equals(selectedOrderCycle,blankOption()) || lineItem.order.order_cycle == selectedOrderCycle) + filtered.push lineItem for lineItem in lineItems when (angular.equals(selectedSupplier,blankOption()) || lineItem.supplier.id == selectedSupplier.id) && + (angular.equals(selectedDistributor,blankOption()) || lineItem.order.distributor.id == selectedDistributor.id) && + (angular.equals(selectedOrderCycle,blankOption()) || lineItem.order.order_cycle.id == selectedOrderCycle.id) filtered orderManagementModule.filter "variantFilter", -> diff --git a/spec/javascripts/unit/bulk_order_management_spec.js.coffee b/spec/javascripts/unit/bulk_order_management_spec.js.coffee index bac28267c2..cca38365c6 100644 --- a/spec/javascripts/unit/bulk_order_management_spec.js.coffee +++ b/spec/javascripts/unit/bulk_order_management_spec.js.coffee @@ -26,7 +26,6 @@ describe "AdminOrderMgmtCtrl", -> spyOn(returnedSuppliers, "unshift") spyOn(returnedDistributors, "unshift") spyOn(returnedOrderCycles, "unshift") - spyOn(scope, "matchOrderCycleEnterprises") scope.initialise "api_key" httpBackend.flush() expect(scope.suppliers).toEqual ["list of suppliers"] @@ -37,7 +36,6 @@ describe "AdminOrderMgmtCtrl", -> expect(returnedSuppliers.unshift.calls.length).toEqual 1 expect(returnedDistributors.unshift.calls.length).toEqual 1 expect(returnedOrderCycles.unshift.calls.length).toEqual 1 - expect(scope.matchOrderCycleEnterprises.calls.length).toEqual returnedOrderCycles.length expect(scope.spree_api_key_ok).toEqual true describe "fetching orders", -> @@ -161,31 +159,6 @@ describe "AdminOrderMgmtCtrl", -> returned_item = scope.matchObject list, test_item, null expect(returned_item is null).toEqual true - describe "matching order cycles enterprises", -> - it "calls matchDistributor once for each distributor associated with an order cycle", -> - spyOn(scope, "matchObject") - distributors = [ - "distributor1" - "distributor2" - "distributor3" - ] - suppliers = [] - orderCycle = { distributors: distributors } - scope.matchOrderCycleEnterprises orderCycle - expect(scope.matchObject.calls.length).toEqual 3 - - it "calls matchSupplier once for each distributor associated with an order cycle", -> - spyOn(scope, "matchObject") - distributors = [] - suppliers = [ - "supplier1" - "supplier2" - "supplier3" - ] - orderCycle = { suppliers: suppliers } - scope.matchOrderCycleEnterprises orderCycle - expect(scope.matchObject.calls.length).toEqual 3 - describe "deleting a line item", -> order = line_item1 = line_item2 = null