Add unit tests for AdminEditOrderCycleCtrl

This commit is contained in:
Rohan Mitchell
2012-12-07 15:30:49 +11:00
parent 0a6686b592
commit 8cfce57730
2 changed files with 43 additions and 3 deletions

View File

@@ -17,10 +17,10 @@ function AdminCreateOrderCycleCtrl($scope, OrderCycle, Enterprise) {
}
function AdminEditOrderCycleCtrl($scope, OrderCycle, Enterprise) {
function AdminEditOrderCycleCtrl($scope, $location, OrderCycle, Enterprise) {
$scope.enterprises = Enterprise.index();
var order_cycle_id = window.location.pathname.match(/\/admin\/order_cycles\/(\d+)/)[1];
var order_cycle_id = $location.absUrl().match(/\/admin\/order_cycles\/(\d+)/)[1];
$scope.order_cycle = OrderCycle.load(order_cycle_id);
$scope.toggleProducts = function($event, exchange) {

View File

@@ -14,11 +14,12 @@ describe 'OrderCycle controllers', ->
addSupplier: jasmine.createSpy('addSupplier')
create: jasmine.createSpy('create')
Enterprise =
index: jasmine.createSpy('index')
index: jasmine.createSpy('index').andReturn('enterprises list')
ctrl = new AdminCreateOrderCycleCtrl(scope, OrderCycle, Enterprise)
it 'Loads enterprises', ->
expect(Enterprise.index).toHaveBeenCalled()
expect(scope.enterprises).toEqual('enterprises list')
it 'Loads order cycles', ->
expect(scope.order_cycle).toEqual('my order cycle')
@@ -37,6 +38,45 @@ describe 'OrderCycle controllers', ->
expect(OrderCycle.create).toHaveBeenCalled()
describe 'AdminEditOrderCycleCtrl', ->
ctrl = null
scope = null
location = null
OrderCycle = null
Enterprise = null
beforeEach ->
scope = {}
location =
absUrl: ->
'example.com/admin/order_cycles/27/edit'
OrderCycle =
load: jasmine.createSpy('load')
toggleProducts: jasmine.createSpy('toggleProducts')
addSupplier: jasmine.createSpy('addSupplier')
update: jasmine.createSpy('update')
Enterprise =
index: jasmine.createSpy('index').andReturn('enterprises list')
ctrl = new AdminEditOrderCycleCtrl(scope, location, OrderCycle, Enterprise)
it 'Loads enterprises', ->
expect(Enterprise.index).toHaveBeenCalled()
expect(scope.enterprises).toEqual('enterprises list')
it 'Loads order cycles', ->
expect(OrderCycle.load).toHaveBeenCalledWith('27')
it 'Delegates toggleProducts to OrderCycle', ->
scope.toggleProducts('event', 'exchange')
expect(OrderCycle.toggleProducts).toHaveBeenCalledWith('event', 'exchange')
it 'Adds order cycle suppliers', ->
scope.new_supplier_id = 'new supplier id'
scope.addSupplier('event')
expect(OrderCycle.addSupplier).toHaveBeenCalledWith('event', 'new supplier id')
it 'Submits the order cycle via OrderCycle update', ->
scope.submit()
expect(OrderCycle.update).toHaveBeenCalled()
describe 'OrderCycle services', ->