Getting the tests working once more

This commit is contained in:
Will Marshall
2014-03-27 12:07:38 +11:00
parent 67762317cb
commit 17bb1f9d25
6 changed files with 25 additions and 32 deletions

View File

@@ -1,4 +1,4 @@
Darkswarm.controller "TabsCtrl", ($scope, $rootScope, $location) ->
Darkswarm.controller "TabsCtrl", ($scope, $rootScope, $location, OrderCycle) ->
$scope.active = (path)->
$location.hash() == path
@@ -12,29 +12,3 @@ Darkswarm.controller "TabsCtrl", ($scope, $rootScope, $location) ->
$location.hash "/"
else
$location.hash tab.path
# directive -> ng-click -> scope method (not isolated) -> toggle active | change location
# watch active expression -> change tab appearance
#select = ->
#$location.path(tab.path)
#active expression:
#"$location.path() == tab.path"
# directive -> ng-click -> set active (on isolated scope)
# ng-class -> change tab appearance
# two-way binding active attr <-> tab.active
# directive attr (select) -> scope.selectExpression
# scope.select -> $parse ...
#
# in Directive
# scope.select = $parse(attrs.select)
# $scope.select($scope)
#
# 1: remove reverse binding on tab.active
# 2: put $parse(attrs.select) onto tab
# 3: override TabsetController/select to run tab.select() against original tab.$parent

View File

@@ -1,7 +1,15 @@
Darkswarm.factory 'OrderCycle', ($resource, Product, orderCycleData) ->
class OrderCycle
@order_cycle = orderCycleData || {orders_close_at: ""}
@order_cycle = orderCycleData || null
@push_order_cycle: ->
new $resource("/shop/order_cycle").save {order_cycle_id: @order_cycle.order_cycle_id}, (order_data)->
OrderCycle.order_cycle.orders_close_at = order_data.orders_close_at
Product.update()
@orders_close_at: ->
if @order_cycle
@order_cycle.orders_close_at
else
""
@selected: ->
@order_cycle != null

View File

@@ -8,7 +8,7 @@
%closing
-#%img{src: "/icon/goes/here"}
Orders close
%strong {{ order_cycle.orders_close_at | date_in_words }}
%strong {{ order_cycle.orders_close_at() | date_in_words }}
= render partial: "shop/details"
%products.row

View File

@@ -9,6 +9,7 @@ module.exports = function(config) {
'app/assets/javascripts/shared/angular.js',
'app/assets/javascripts/shared/angular-*.js',
'app/assets/javascripts/shared/jquery.timeago.js',
'app/assets/javascripts/shared/mm-foundation-tpls-0.2.0-SNAPSHOT.js',
'app/assets/javascripts/admin/shared_directives.js.coffee',
'app/assets/javascripts/admin/shared_services.js.coffee',

View File

@@ -6,8 +6,8 @@ describe "SidebarCtrl", ->
beforeEach ->
module("Darkswarm")
location =
hash: ->
"sidebar"
path: ->
"/login"
inject ($controller, $rootScope) ->
scope = $rootScope
ctrl = $controller 'SidebarCtrl', {$scope: scope, $location: location}
@@ -17,6 +17,6 @@ describe "SidebarCtrl", ->
expect(scope.active()).toEqual true
it 'is inactive no location is set', ->
location.hash = ->
location.path = ->
null
expect(scope.active()).toEqual false

View File

@@ -32,3 +32,13 @@ describe 'OrderCycle service', ->
$httpBackend.flush()
expect(OrderCycle.order_cycle.orders_close_at).toEqual(datestring)
it "tells us when the order cycle closes", ->
OrderCycle.order_cycle.orders_close_at = "test"
expect(OrderCycle.orders_close_at()).toEqual "test"
it "tells us when no order cycle is selected", ->
OrderCycle.order_cycle = null
expect(OrderCycle.selected()).toEqual false
OrderCycle.order_cycle = {test: "blah"}
expect(OrderCycle.selected()).toEqual true