diff --git a/openstack_dashboard/static/app/core/openstack-service-api/common-test.mock.js b/openstack_dashboard/static/app/core/openstack-service-api/common-test.mock.js index b071f67253..e2efd254ea 100644 --- a/openstack_dashboard/static/app/core/openstack-service-api/common-test.mock.js +++ b/openstack_dashboard/static/app/core/openstack-service-api/common-test.mock.js @@ -87,7 +87,14 @@ var innerFunc = promise.catch.calls.argsFor(0)[0]; expect(innerFunc).toBeDefined(); spyOn(toastService, 'add'); - innerFunc({status: 500}); + var response = {status: 500}; + if (angular.isDefined(config.throws) && config.throws) { + expect(function() { + innerFunc(response); + }).toThrow(response); + } else { + innerFunc(response); + } expect(toastService.add).toHaveBeenCalledWith(config.messageType || 'error', config.error); } } diff --git a/openstack_dashboard/static/app/core/openstack-service-api/swift.service.js b/openstack_dashboard/static/app/core/openstack-service-api/swift.service.js index daafd8eadd..d529e605e7 100644 --- a/openstack_dashboard/static/app/core/openstack-service-api/swift.service.js +++ b/openstack_dashboard/static/app/core/openstack-service-api/swift.service.js @@ -186,6 +186,7 @@ } else { toastService.add('error', gettext('Unable to delete the container.')); } + throw response; }); } diff --git a/openstack_dashboard/static/app/core/openstack-service-api/swift.service.spec.js b/openstack_dashboard/static/app/core/openstack-service-api/swift.service.spec.js index 06a64908d8..c5df9d4c37 100644 --- a/openstack_dashboard/static/app/core/openstack-service-api/swift.service.spec.js +++ b/openstack_dashboard/static/app/core/openstack-service-api/swift.service.spec.js @@ -95,7 +95,8 @@ method: 'delete', path: '/api/swift/containers/spam/metadata/', error: 'Unable to delete the container.', - testInput: [ 'spam' ] + testInput: [ 'spam' ], + throws: true }, { func: 'setContainerAccess', @@ -205,7 +206,10 @@ var innerFunc = promise.catch.calls.argsFor(0)[0]; // In the case of 409 var message = 'Unable to delete the container because it is not empty.'; - innerFunc({data: message, status: 409}); + var response = {data: message, status: 409}; + expect(function() { + innerFunc(response); + }).toThrow(response); expect(toastService.add).toHaveBeenCalledWith('error', message); } );