describe('ContainerController', function () { var $scope, $httpBackend, mockContainer, $routeParams; beforeEach(module('portainer')); 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({ 'Created': 1421817232, 'id': 'b17882378cee8ec0136f482681b764cca430befd52a9bfd1bde031f49b8bba9f', 'Image': 'portainer:latest', 'Name': '/portainer' }); } it("a correct rename request to the Docker remote API", function () { $routeParams.id = 'b17882378cee8ec0136f482681b764cca430befd52a9bfd1bde031f49b8bba9f'; $scope.container = { 'Created': 1421817232, 'id': 'b17882378cee8ec0136f482681b764cca430befd52a9bfd1bde031f49b8bba9f', 'Image': 'portainer:latest', 'Name': '/portainer' }; $scope.container.newContainerName = "newName"; var newContainerName = "newName"; expectGetContainer(); $httpBackend.expectGET('dockerapi/containers/changes').respond([{"Kind": 1, "Path": "/docker.sock"}]); $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(); }); });