From 13a1809d6cd81eddf1a94d97dcc9b16044f96123 Mon Sep 17 00:00:00 2001 From: Rohan Mitchell Date: Mon, 29 Jul 2013 17:33:05 +1000 Subject: [PATCH] Load enterprise fees in controllers --- .../admin/order_cycle.js.erb.coffee | 6 ++++-- app/views/admin/order_cycles/_form.html.haml | 4 ++++ .../unit/order_cycle_spec.js.coffee | 18 ++++++++++++++++-- 3 files changed, 24 insertions(+), 4 deletions(-) diff --git a/app/assets/javascripts/admin/order_cycle.js.erb.coffee b/app/assets/javascripts/admin/order_cycle.js.erb.coffee index 2d6203b767..bf36171894 100644 --- a/app/assets/javascripts/admin/order_cycle.js.erb.coffee +++ b/app/assets/javascripts/admin/order_cycle.js.erb.coffee @@ -1,7 +1,8 @@ angular.module('order_cycle', ['ngResource']) - .controller('AdminCreateOrderCycleCtrl', ['$scope', 'OrderCycle', 'Enterprise', ($scope, OrderCycle, Enterprise) -> + .controller('AdminCreateOrderCycleCtrl', ['$scope', 'OrderCycle', 'Enterprise', 'EnterpriseFee', ($scope, OrderCycle, Enterprise, EnterpriseFee) -> $scope.enterprises = Enterprise.index() $scope.supplied_products = Enterprise.supplied_products + $scope.enterprise_fees = EnterpriseFee.index() $scope.order_cycle = OrderCycle.order_cycle @@ -36,9 +37,10 @@ angular.module('order_cycle', ['ngResource']) OrderCycle.create() ]) - .controller('AdminEditOrderCycleCtrl', ['$scope', '$location', 'OrderCycle', 'Enterprise', ($scope, $location, OrderCycle, Enterprise) -> + .controller('AdminEditOrderCycleCtrl', ['$scope', '$location', 'OrderCycle', 'Enterprise', 'EnterpriseFee', ($scope, $location, OrderCycle, Enterprise, EnterpriseFee) -> $scope.enterprises = Enterprise.index() $scope.supplied_products = Enterprise.supplied_products + $scope.enterprise_fees = EnterpriseFee.index() order_cycle_id = $location.absUrl().match(/\/admin\/order_cycles\/(\d+)/)[1] $scope.order_cycle = OrderCycle.load(order_cycle_id) diff --git a/app/views/admin/order_cycles/_form.html.haml b/app/views/admin/order_cycles/_form.html.haml index 093b2f6522..ad111b9297 100644 --- a/app/views/admin/order_cycles/_form.html.haml +++ b/app/views/admin/order_cycles/_form.html.haml @@ -58,5 +58,9 @@ %h2 Debug information %pre order_cycle = {{ order_cycle | json }} +%hr/ %pre enterprises = {{ enterprises | json }} +%hr/ +%pre enterprise_fees = {{ enterprise_fees | json }} +%hr/ %pre supplied_products = {{ supplied_products | json }} diff --git a/spec/javascripts/unit/order_cycle_spec.js.coffee b/spec/javascripts/unit/order_cycle_spec.js.coffee index 3a6274b9de..314d2da22d 100644 --- a/spec/javascripts/unit/order_cycle_spec.js.coffee +++ b/spec/javascripts/unit/order_cycle_spec.js.coffee @@ -6,6 +6,7 @@ describe 'OrderCycle controllers', -> event = null OrderCycle = null Enterprise = null + EnterpriseFee = null beforeEach -> scope = {} @@ -24,10 +25,12 @@ describe 'OrderCycle controllers', -> index: jasmine.createSpy('index').andReturn('enterprises list') supplied_products: 'supplied products' totalVariants: jasmine.createSpy('totalVariants').andReturn('variants total') + EnterpriseFee = + index: jasmine.createSpy('index').andReturn('enterprise fees list') module('order_cycle') inject ($controller) -> - ctrl = $controller 'AdminCreateOrderCycleCtrl', {$scope: scope, OrderCycle: OrderCycle, Enterprise: Enterprise} + ctrl = $controller 'AdminCreateOrderCycleCtrl', {$scope: scope, OrderCycle: OrderCycle, Enterprise: Enterprise, EnterpriseFee: EnterpriseFee} it 'Loads enterprises and supplied products', -> @@ -35,6 +38,10 @@ describe 'OrderCycle controllers', -> expect(scope.enterprises).toEqual('enterprises list') expect(scope.supplied_products).toEqual('supplied products') + it 'Loads enterprise fees', -> + expect(EnterpriseFee.index).toHaveBeenCalled() + expect(scope.enterprise_fees).toEqual('enterprise fees list') + it 'Loads order cycles', -> expect(scope.order_cycle).toEqual('my order cycle') @@ -82,6 +89,7 @@ describe 'OrderCycle controllers', -> location = null OrderCycle = null Enterprise = null + EnterpriseFee = null beforeEach -> scope = {} @@ -103,16 +111,22 @@ describe 'OrderCycle controllers', -> index: jasmine.createSpy('index').andReturn('enterprises list') supplied_products: 'supplied products' totalVariants: jasmine.createSpy('totalVariants').andReturn('variants total') + EnterpriseFee = + index: jasmine.createSpy('index').andReturn('enterprise fees list') module('order_cycle') inject ($controller) -> - ctrl = $controller 'AdminEditOrderCycleCtrl', {$scope: scope, $location: location, OrderCycle: OrderCycle, Enterprise: Enterprise} + ctrl = $controller 'AdminEditOrderCycleCtrl', {$scope: scope, $location: location, OrderCycle: OrderCycle, Enterprise: Enterprise, EnterpriseFee: EnterpriseFee} it 'Loads enterprises and supplied products', -> expect(Enterprise.index).toHaveBeenCalled() expect(scope.enterprises).toEqual('enterprises list') expect(scope.supplied_products).toEqual('supplied products') + it 'Loads enterprise fees', -> + expect(EnterpriseFee.index).toHaveBeenCalled() + expect(scope.enterprise_fees).toEqual('enterprise fees list') + it 'Loads order cycles', -> expect(OrderCycle.load).toHaveBeenCalledWith('27')