Merge "Tabs may not appear in angular instance wizard"
This commit is contained in:
commit
dc10dc6ab7
@ -208,8 +208,8 @@
|
||||
if (step.checkReadiness) {
|
||||
var promise = step.checkReadiness();
|
||||
stepReadyPromises.push(promise);
|
||||
promise.then(function() {
|
||||
step.ready = true;
|
||||
promise.then(function(isReady) {
|
||||
step.ready = isReady;
|
||||
});
|
||||
}
|
||||
});
|
||||
|
@ -225,9 +225,9 @@
|
||||
expect(checkedStep.checkReadiness).toHaveBeenCalled();
|
||||
});
|
||||
|
||||
it("should remove steps when readiness is false", function() {
|
||||
it("should remove steps when readiness doesn't resolve with true parameter", function() {
|
||||
|
||||
var checkReadinessPromises = [$q.defer(), $q.defer(), $q.defer(), $q.defer()];
|
||||
var checkReadinessPromises = [$q.defer(), $q.defer(), $q.defer(), $q.defer(), $q.defer()];
|
||||
|
||||
$scope.workflow = {
|
||||
steps: [
|
||||
@ -247,20 +247,25 @@
|
||||
{
|
||||
id: 'five',
|
||||
checkReadiness: function() { return checkReadinessPromises[3].promise; }
|
||||
},
|
||||
{
|
||||
id: 'six',
|
||||
checkReadiness: function() { return checkReadinessPromises[4].promise; }
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
checkReadinessPromises[0].reject();
|
||||
checkReadinessPromises[1].resolve();
|
||||
checkReadinessPromises[1].resolve(true);
|
||||
checkReadinessPromises[2].reject();
|
||||
checkReadinessPromises[3].resolve();
|
||||
checkReadinessPromises[3].resolve(false);
|
||||
checkReadinessPromises[4].resolve(true);
|
||||
$scope.$apply();
|
||||
|
||||
expect($scope.steps.length).toBe(3);
|
||||
expect($scope.steps[0].id).toBe('one');
|
||||
expect($scope.steps[1].id).toBe('three');
|
||||
expect($scope.steps[2].id).toBe('five');
|
||||
expect($scope.steps[2].id).toBe('six');
|
||||
});
|
||||
|
||||
it('should pass result of submit function on to close function', function () {
|
||||
|
@ -87,7 +87,13 @@
|
||||
}
|
||||
if (promises.length > 0) {
|
||||
step.checkReadiness = function () {
|
||||
return $q.all(promises);
|
||||
return $q.all(promises).then(function() {
|
||||
// all promises have succeeded, return the readiness status to true
|
||||
return true;
|
||||
}, function() {
|
||||
// at least one promise has failed, return the readiness status to false
|
||||
return false;
|
||||
});
|
||||
};
|
||||
}
|
||||
}
|
||||
|
@ -67,7 +67,7 @@
|
||||
expect(novaExtensionsService.ifNameEnabled).toHaveBeenCalledWith('foo-novaExtension');
|
||||
});
|
||||
|
||||
it('step checkReadiness function returns correct results', function() {
|
||||
it('step checkReadiness function returns true when promise is resolved', function() {
|
||||
decoratorService(spec);
|
||||
var readinessResult;
|
||||
deferred.resolve('foo');
|
||||
@ -75,7 +75,18 @@
|
||||
readinessResult = result;
|
||||
});
|
||||
$scope.$apply();
|
||||
expect(readinessResult).toEqual(['foo']);
|
||||
expect(readinessResult).toEqual(true);
|
||||
});
|
||||
|
||||
it('step checkReadiness function returns false when promise is rejected', function() {
|
||||
decoratorService(spec);
|
||||
var readinessResult;
|
||||
deferred.reject();
|
||||
steps[1].checkReadiness().then(function(result) {
|
||||
readinessResult = result;
|
||||
});
|
||||
$scope.$apply();
|
||||
expect(readinessResult).toEqual(false);
|
||||
});
|
||||
|
||||
});
|
||||
|
Loading…
Reference in New Issue
Block a user