portainer/test/unit/app/components/containerController.spec.js

57 lines
1.8 KiB
JavaScript
Raw Normal View History

2015-03-31 21:37:03 +00:00
describe('ContainerController', function () {
2015-03-12 21:28:01 +00:00
var $scope, $httpBackend, mockContainer, $routeParams;
beforeEach(module('portainer'));
2015-03-12 21:28:01 +00:00
beforeEach(inject(function ($rootScope, $controller, _$routeParams_) {
$scope = $rootScope.$new();
$routeParams = _$routeParams_;
$controller('ContainerController', {
$scope: $scope
});
angular.mock.inject(function (_$httpBackend_, _Container_) {
mockContainer = _Container_;
$httpBackend = _$httpBackend_;
});
}));
function expectGetContainer() {
$httpBackend.expectGET('dockerapi/containers/json').respond({
2015-03-12 21:28:01 +00:00
'Created': 1421817232,
'id': 'b17882378cee8ec0136f482681b764cca430befd52a9bfd1bde031f49b8bba9f',
'Image': 'portainer:latest',
'Name': '/portainer'
2015-03-12 21:28:01 +00:00
});
}
2015-03-31 21:37:03 +00:00
it("a correct rename request to the Docker remote API", function () {
2015-03-12 21:28:01 +00:00
$routeParams.id = 'b17882378cee8ec0136f482681b764cca430befd52a9bfd1bde031f49b8bba9f';
$scope.container = {
'Created': 1421817232,
'id': 'b17882378cee8ec0136f482681b764cca430befd52a9bfd1bde031f49b8bba9f',
'Image': 'portainer:latest',
'Name': '/portainer'
2015-03-12 21:28:01 +00:00
};
$scope.container.newContainerName = "newName";
var newContainerName = "newName";
expectGetContainer();
$httpBackend.expectGET('dockerapi/containers/changes').respond([{"Kind": 1, "Path": "/docker.sock"}]);
2015-03-12 21:28:01 +00:00
$httpBackend.expectPOST('dockerapi/containers/' + $routeParams.id + '/rename?name=newName').
respond({
'name': newContainerName
});
$scope.renameContainer();
$httpBackend.flush();
expect($scope.container.Name).toBe(newContainerName);
expect($scope.container.edit).toBeFalsy();
});
});