Adding a javascript interface for checking permalinks and user input on enterprise console

This commit is contained in:
Rob Harrington
2015-01-16 17:23:47 +11:00
parent 3ec3441cfa
commit 9b78963d5a
8 changed files with 127 additions and 10 deletions

View File

@@ -0,0 +1,47 @@
describe "permalinkCtrl", ->
ctrl = null
$scope = null
Enterprise = null
PermalinkChecker = null
$httpBackend = null
$q = null
beforeEach ->
module('admin.enterprises')
Enterprise = {
permalink: "something"
}
inject ($rootScope, $controller, _$q_, _PermalinkChecker_) ->
$scope = $rootScope
$q = _$q_
PermalinkChecker = _PermalinkChecker_
$ctrl = $controller 'permalinkCtrl', {$scope: $scope, Enterprise: Enterprise, PermalinkChecker: PermalinkChecker}
describe "checking permalink", ->
deferred = null
beforeEach ->
# Build a deferred object
deferred = $q.defer()
it "sends a request to PermalinkChecker when permalink is changed", ->
deferred.resolve("")
promise = deferred.promise
spyOn(PermalinkChecker, "check").andReturn promise
$scope.$apply Enterprise.permalink = "somethingelse" # Change the permalink
expect(PermalinkChecker.check).toHaveBeenCalled()
it "sets available to 'Available' when PermalinkChecker resolves", ->
deferred.resolve("")
promise = deferred.promise
spyOn(PermalinkChecker, "check").andReturn promise
$scope.$apply Enterprise.permalink = "somethingelse" # Change the permalink
expect($scope.availability).toEqual "Available"
it "sets available to 'Unavailable' when PermalinkChecker rejects", ->
deferred.reject()
promise = deferred.promise
spyOn(PermalinkChecker, "check").andReturn promise
$scope.$apply Enterprise.permalink = "somethingelse" # Change the permalink
expect($scope.availability).toEqual "Unavailable"

View File

@@ -0,0 +1,14 @@
describe "Permalink Checker service", ->
PermalinkChecker = null
$httpBackend = null
beforeEach ->
module 'admin.enterprises'
inject ($injector, _$httpBackend_) ->
$httpBackend = _$httpBackend_
PermalinkChecker = $injector.get("PermalinkChecker")
it "sends an http request to check the permalink", ->
permalink = "this-is-a-permalink"
$httpBackend.expectGET "/enterprises/check_permalink?permalink=#{permalink}"
PermalinkChecker.check(permalink)