From bc4f47252333cc40e23ad4cdcac3c8c8b6507917 Mon Sep 17 00:00:00 2001 From: Will Marshall Date: Wed, 11 Dec 2013 15:33:57 +1100 Subject: [PATCH] Fixing up the tests with some refactoring --- .../controllers/products_controller.js.coffee | 3 ++- .../darkswarm/services/order_cycle.js.coffee | 5 +++-- .../javascripts/darkswarm/services/product.js.coffee | 12 +++++++----- app/views/shop/show.html.haml | 2 +- .../unit/darkswarm/controllers_spec.js.coffee | 6 ++++-- .../unit/darkswarm/order_cycle_spec.js.coffee | 2 ++ .../unit/darkswarm/product_spec.js.coffee | 1 - 7 files changed, 19 insertions(+), 12 deletions(-) diff --git a/app/assets/javascripts/darkswarm/controllers/products_controller.js.coffee b/app/assets/javascripts/darkswarm/controllers/products_controller.js.coffee index a6ca84bc84..8f21390a7f 100644 --- a/app/assets/javascripts/darkswarm/controllers/products_controller.js.coffee +++ b/app/assets/javascripts/darkswarm/controllers/products_controller.js.coffee @@ -1,5 +1,6 @@ angular.module("Shop").controller "ProductsCtrl", ($scope, $rootScope, Product) -> - $scope.products = Product.all() + $scope.data = Product.data + Product.update() #$scope.order_cycle = OrderCycle.order_cycle diff --git a/app/assets/javascripts/darkswarm/services/order_cycle.js.coffee b/app/assets/javascripts/darkswarm/services/order_cycle.js.coffee index bbf7714311..6c98b7a57a 100644 --- a/app/assets/javascripts/darkswarm/services/order_cycle.js.coffee +++ b/app/assets/javascripts/darkswarm/services/order_cycle.js.coffee @@ -4,7 +4,8 @@ Shop.factory 'OrderCycle', ($resource, Product) -> order_cycle_id: null } - @set_order_cycle: -> - new $resource("/shop/order_cycle").save {order_cycle_id: @order_cycle.order_cycle_id}, -> + @set_order_cycle: (id)-> + @order_cycle.order_cycle_id = id + new $resource("/shop/order_cycle").save {order_cycle_id: id}, -> Product.update() diff --git a/app/assets/javascripts/darkswarm/services/product.js.coffee b/app/assets/javascripts/darkswarm/services/product.js.coffee index 5b7df226af..f8f139ad32 100644 --- a/app/assets/javascripts/darkswarm/services/product.js.coffee +++ b/app/assets/javascripts/darkswarm/services/product.js.coffee @@ -1,9 +1,11 @@ Shop.factory 'Product', ($resource) -> new class Product - @products: null + data: { + products: null + } update: -> - @products = $resource("/shop/products").query() - console.log @products - @products + @data.products = $resource("/shop/products").query => + #console.log @products + @data all: -> - @products || @update() + @data.products || @update() diff --git a/app/views/shop/show.html.haml b/app/views/shop/show.html.haml index 57c58883f7..f617e4ca9d 100644 --- a/app/views/shop/show.html.haml +++ b/app/views/shop/show.html.haml @@ -7,7 +7,7 @@ = @distributor.long_description.andand.html_safe %products{"ng-controller" => "ProductsCtrl"} - %pre {{ products | json }} + %pre {{ data.products | json }} = render partial: "enterprises/contact_us" = render partial: "enterprises/about_us" diff --git a/spec/javascripts/unit/darkswarm/controllers_spec.js.coffee b/spec/javascripts/unit/darkswarm/controllers_spec.js.coffee index 1218c83982..784973f175 100644 --- a/spec/javascripts/unit/darkswarm/controllers_spec.js.coffee +++ b/spec/javascripts/unit/darkswarm/controllers_spec.js.coffee @@ -10,14 +10,16 @@ describe 'All controllers', -> module('Shop') Product = all: -> - 'testy mctest' + update: -> + data: "testy mctest" + inject ($controller, $rootScope) -> rootScope = $rootScope scope = $rootScope.$new() ctrl = $controller 'ProductsCtrl', {$scope: scope, Product : Product} it 'Fetches products from Product', -> - expect(scope.products).toEqual 'testy mctest' + expect(scope.data).toEqual 'testy mctest' #it "updates products when the changeOrderCycle event is seen", -> #spyOn(scope, "updateProducts") diff --git a/spec/javascripts/unit/darkswarm/order_cycle_spec.js.coffee b/spec/javascripts/unit/darkswarm/order_cycle_spec.js.coffee index 43df2d628d..0a00cd60d4 100644 --- a/spec/javascripts/unit/darkswarm/order_cycle_spec.js.coffee +++ b/spec/javascripts/unit/darkswarm/order_cycle_spec.js.coffee @@ -21,3 +21,5 @@ describe 'OrderCycle service', -> OrderCycle.set_order_cycle(10) $httpBackend.flush() expect(mockProduct.update).toHaveBeenCalled() + + diff --git a/spec/javascripts/unit/darkswarm/product_spec.js.coffee b/spec/javascripts/unit/darkswarm/product_spec.js.coffee index 1b25ded9e1..fd2a8f4edb 100644 --- a/spec/javascripts/unit/darkswarm/product_spec.js.coffee +++ b/spec/javascripts/unit/darkswarm/product_spec.js.coffee @@ -12,4 +12,3 @@ describe 'Product service', -> $httpBackend.expectGET("/shop/products").respond([{test : "cats"}]) products = Product.all() $httpBackend.flush() - expect(products[0].test).toEqual "cats"