mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-03-13 04:00:21 +00:00
Adding a javascript interface for checking permalinks and user input on enterprise console
This commit is contained in:
@@ -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"
|
||||
@@ -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)
|
||||
Reference in New Issue
Block a user