From 5aa032b54c5e57aa060a384a7bd1d91f0d799d74 Mon Sep 17 00:00:00 2001 From: Rob H Date: Fri, 17 Jan 2014 14:00:02 +0800 Subject: [PATCH] BOM: fetchOrders sends request to API and resetOrders stores returned data --- .../admin/bulk_order_management.js.coffee | 5 +++++ .../unit/bulk_order_management_spec.js.coffee | 19 ++++++++++++++++++- 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/app/assets/javascripts/admin/bulk_order_management.js.coffee b/app/assets/javascripts/admin/bulk_order_management.js.coffee index f83bcff985..5252bdf4e7 100644 --- a/app/assets/javascripts/admin/bulk_order_management.js.coffee +++ b/app/assets/javascripts/admin/bulk_order_management.js.coffee @@ -30,4 +30,9 @@ orderManagementModule.controller "AdminOrderMgmtCtrl", [ api_error_msg = "You don't have an API key yet. An attempt was made to generate one, but you are currently not authorised, please contact your site administrator for access." $scope.fetchOrders = -> + dataFetcher("/api/orders?template=bulk_index").then (data) -> + $scope.resetOrders data + + $scope.resetOrders = (data) -> + $scope.orders = data ] \ No newline at end of file diff --git a/spec/javascripts/unit/bulk_order_management_spec.js.coffee b/spec/javascripts/unit/bulk_order_management_spec.js.coffee index ecbc69a725..bb628cb042 100644 --- a/spec/javascripts/unit/bulk_order_management_spec.js.coffee +++ b/spec/javascripts/unit/bulk_order_management_spec.js.coffee @@ -20,4 +20,21 @@ describe "AdminOrderMgmtCtrl", -> httpBackend.flush() expect(scope.suppliers).toEqual "list of suppliers" expect(scope.fetchOrders.calls.length).toEqual 1 - expect(scope.spree_api_key_ok).toEqual true \ No newline at end of file + expect(scope.spree_api_key_ok).toEqual true + + describe "fetching orders", -> + it "makes a standard call to dataFetcher", -> + httpBackend.expectGET("/api/orders?template=bulk_index").respond "list of orders" + scope.fetchOrders() + + it "calls resetOrders after data has been received", -> + spyOn scope, "resetOrders" + httpBackend.expectGET("/api/orders?template=bulk_index").respond "list of orders" + scope.fetchOrders() + httpBackend.flush() + expect(scope.resetOrders).toHaveBeenCalledWith "list of orders" + + describe "resetting orders", -> + it "sets the value of $scope.orders to the data received", -> + scope.resetOrders "list of orders" + expect(scope.orders).toEqual "list of orders" \ No newline at end of file