mirror of
				https://github.com/mmumshad/ansible-playable.git
				synced 2025-03-09 23:38:54 +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!');
 | |
|       }
 | |
|     };
 | |
|   });
 |