mirror of
https://github.com/mmumshad/ansible-playable.git
synced 2025-02-15 04:42:05 +00:00
38 lines
1.1 KiB
JavaScript
38 lines
1.1 KiB
JavaScript
'use strict';
|
|
|
|
const angular = require('angular');
|
|
|
|
angular.module('stateMock', []);
|
|
angular.module('stateMock')
|
|
.service('$state', function($q) {
|
|
this.expectedTransitions = [];
|
|
|
|
this.transitionTo = function(stateName) {
|
|
if(this.expectedTransitions.length > 0) {
|
|
var expectedState = this.expectedTransitions.shift();
|
|
if(expectedState !== stateName) {
|
|
throw Error(`Expected transition to state: ${expectedState
|
|
} but transitioned to ${stateName}`);
|
|
}
|
|
} else {
|
|
throw Error(`No more transitions were expected! Tried to transition to ${stateName}`);
|
|
}
|
|
console.log(`Mock transition to: ${stateName}`);
|
|
var deferred = $q.defer();
|
|
var promise = deferred.promise;
|
|
deferred.resolve();
|
|
return promise;
|
|
};
|
|
|
|
this.go = this.transitionTo;
|
|
|
|
this.expectTransitionTo = function(stateName) {
|
|
this.expectedTransitions.push(stateName);
|
|
};
|
|
|
|
this.ensureAllTransitionsHappened = function() {
|
|
if(this.expectedTransitions.length > 0) {
|
|
throw Error('Not all transitions happened!');
|
|
}
|
|
};
|
|
});
|