Commit d4607e1d authored by Evren Kutar's avatar Evren Kutar

ADD fixes GH-76 rfix #5065 button_switch function

parent 8b45d19c
...@@ -42,6 +42,7 @@ angular.module('ulakbus.auth', ['ngRoute', 'ngCookies']) ...@@ -42,6 +42,7 @@ angular.module('ulakbus.auth', ['ngRoute', 'ngCookies'])
if (form.$valid) { if (form.$valid) {
$scope.loggingIn = true; $scope.loggingIn = true;
$rootScope.loginAttempt = 1; $rootScope.loginAttempt = 1;
Generator.button_switch(false);
AuthService.login($scope.url, $scope.model) AuthService.login($scope.url, $scope.model)
.error(function (data) { .error(function (data) {
$scope.message = data.title; $scope.message = data.title;
...@@ -49,6 +50,7 @@ angular.module('ulakbus.auth', ['ngRoute', 'ngCookies']) ...@@ -49,6 +50,7 @@ angular.module('ulakbus.auth', ['ngRoute', 'ngCookies'])
}) })
.then(function () { .then(function () {
$scope.loggingIn = false; $scope.loggingIn = false;
Generator.button_switch(false);
}) })
} }
else { else {
......
...@@ -10,16 +10,9 @@ ...@@ -10,16 +10,9 @@
describe('ulakbus.auth module', function () { describe('ulakbus.auth module', function () {
// load dependencies of modules e.g REST_URL
beforeEach(module('ulakbus')); beforeEach(module('ulakbus'));
beforeEach(module('ulakbus.auth')); beforeEach(module('ulakbus.auth'));
describe('login controller and service', function () {
it('should have a login controller', inject(function () {
expect('ulakbus.auth.LoginCtrl').toBeDefined();
}));
var $controller; var $controller;
var $rootScope; var $rootScope;
...@@ -28,10 +21,21 @@ describe('ulakbus.auth module', function () { ...@@ -28,10 +21,21 @@ describe('ulakbus.auth module', function () {
})); }));
beforeEach(inject(function ($injector) { beforeEach(inject(function ($injector) {
$httpBackend = $injector.get('$httpBackend');
$rootScope = $injector.get('$rootScope'); $rootScope = $injector.get('$rootScope');
})); }));
beforeEach(inject(function ($injector) {
$httpBackend = $injector.get('$httpBackend');
var authRequestHandler = $httpBackend.when('GET', /\.[0-9a-z]+$/i)
.respond({userId: 'userX'}, {'A-Token': 'xxx'});
}));
describe('login controller and service', function () {
it('should have a login controller', inject(function () {
expect('ulakbus.auth.LoginCtrl').toBeDefined();
}));
it('should get login form', inject( it('should get login form', inject(
function ($rootScope, $httpBackend, RESTURL) { function ($rootScope, $httpBackend, RESTURL) {
$httpBackend.expectPOST(RESTURL.url + 'login', {cmd: ''}) $httpBackend.expectPOST(RESTURL.url + 'login', {cmd: ''})
...@@ -43,7 +47,6 @@ describe('ulakbus.auth module', function () { ...@@ -43,7 +47,6 @@ describe('ulakbus.auth module', function () {
var controller = $controller('LoginCtrl', {$scope: $scope}); var controller = $controller('LoginCtrl', {$scope: $scope});
expect($scope.onSubmit).toBeDefined(); expect($scope.onSubmit).toBeDefined();
expect($scope.loginForm).toBeDefined();
}) })
); );
......
...@@ -722,6 +722,21 @@ angular.module('ulakbus.formService', ['ui.bootstrap']) ...@@ -722,6 +722,21 @@ angular.module('ulakbus.formService', ['ui.bootstrap'])
}; };
return _do[mode](); return _do[mode]();
}; };
/**
* @memberof ulakbus.formService
* @ngdoc function
* @name button_switch
* @description Changes html disabled and enabled attributes of all buttons on current page.
* @param {boolean} position
*/
generator.button_switch = function (position) {
var buttons = angular.element(document.querySelectorAll('button'));
positions = {true: "enabled", false: "disabled"};
angular.forEach(buttons, function (button, key) {
button[positions[position]] = true;
});
$log.debug('buttons >> ', positions[position])
}
/** /**
* @memberof ulakbus.formService * @memberof ulakbus.formService
* @ngdoc function * @ngdoc function
...@@ -731,9 +746,11 @@ angular.module('ulakbus.formService', ['ui.bootstrap']) ...@@ -731,9 +746,11 @@ angular.module('ulakbus.formService', ['ui.bootstrap'])
* @returns {*} * @returns {*}
*/ */
generator.get_form = function (scope) { generator.get_form = function (scope) {
generator.button_switch(false);
return $http return $http
.post(generator.makeUrl(scope), scope.form_params) .post(generator.makeUrl(scope), scope.form_params)
.then(function (res) { .then(function (res) {
generator.button_switch(true);
return generator.generate(scope, res.data); return generator.generate(scope, res.data);
}); });
}; };
...@@ -746,9 +763,11 @@ angular.module('ulakbus.formService', ['ui.bootstrap']) ...@@ -746,9 +763,11 @@ angular.module('ulakbus.formService', ['ui.bootstrap'])
* @returns {*} * @returns {*}
*/ */
generator.get_list = function (scope) { generator.get_list = function (scope) {
generator.button_switch(false);
return $http return $http
.post(generator.makeUrl(scope), scope.form_params) .post(generator.makeUrl(scope), scope.form_params)
.then(function (res) { .then(function (res) {
generator.button_switch(true);
return res; return res;
}); });
}; };
...@@ -762,9 +781,11 @@ angular.module('ulakbus.formService', ['ui.bootstrap']) ...@@ -762,9 +781,11 @@ angular.module('ulakbus.formService', ['ui.bootstrap'])
* @returns {*} * @returns {*}
*/ */
generator.get_wf = function (scope) { generator.get_wf = function (scope) {
generator.button_switch(false);
return $http return $http
.post(generator.makeUrl(scope), scope.form_params) .post(generator.makeUrl(scope), scope.form_params)
.then(function (res) { .then(function (res) {
generator.button_switch(true);
if (res.data.client_cmd) { if (res.data.client_cmd) {
return generator.pathDecider(res.data.client_cmd, scope, res.data); return generator.pathDecider(res.data.client_cmd, scope, res.data);
} }
...@@ -906,17 +927,23 @@ angular.module('ulakbus.formService', ['ui.bootstrap']) ...@@ -906,17 +927,23 @@ angular.module('ulakbus.formService', ['ui.bootstrap'])
* @param {Object} obj2 * @param {Object} obj2
* @returns {Object} diff object of two given objects * @returns {Object} diff object of two given objects
*/ */
generator.get_diff = function (obj1, obj2) { generator.get_diff = function (oldObj, newObj) {
var result = {}; var result = {};
angular.forEach(obj1, function (value, key) { angular.forEach(newObj, function (value, key) {
if (obj2[key] != obj1[key]) { if (oldObj[key]) {
result[key] = angular.copy(obj1[key]) if ((oldObj[key].constructor === newObj[key].constructor) && (newObj[key].constructor === Object || newObj[key].constructor === Array)) {
angular.forEach(value, function (v, k) {
if (oldObj[key][k] != value[k]) {
result[key][k] = angular.copy(value[k]);
} }
if (obj2[key].constructor === Array && obj1[key].constructor === Array) { });
result[key] = arguments.callee(obj1[key], obj2[key]); } else {
if (oldObj[key] != newObj[key]) {
result[key] = angular.copy(newObj[key]);
} }
if (obj2[key].constructor === Object && obj1[key].constructor === Object) { }
result[key] = arguments.callee(obj1[key], obj2[key]); } else {
result[key] = angular.copy(newObj[key]);
} }
}); });
return result; return result;
......
...@@ -483,8 +483,8 @@ describe('form service module', function () { ...@@ -483,8 +483,8 @@ describe('form service module', function () {
// test cases - testing for success // test cases - testing for success
var same_json = [ var same_json = [
{email: 'test@test.com', id: 2, name: 'travolta', foo: {'a':1}, foo2: [1,2,3]}, {email: 'test@test.com', id: 2, name: 'travolta', foo2: [1,2,3], foo: {'a':1}},
{email: 'test@test.com', id: 2, name: 'travolta', foo: {'a':1}, foo2: [1,2,3]} {email: 'test@test.com', id: 2, name: 'travolta', foo2: [1,2,3], foo: {'a':1}}
]; ];
// test cases - testing for failure // test cases - testing for failure
...@@ -511,21 +511,21 @@ describe('form service module', function () { ...@@ -511,21 +511,21 @@ describe('form service module', function () {
var diff = {email: 'test1@test.com', name: 'john'}; var diff = {email: 'test1@test.com', name: 'john'};
var diff2 = {email: 'test1@test.com', id: 2, name: 'john'}; var diff2 = {email: 'test1@test.com', id: 2, name: 'john'};
var noequal = {email: 'test1@test.com', id: 2, name: 'john'}; var noequal = {name: 'travolta'};
var nodiff = {}; var nodiff = {};
var same = Generator.get_diff(same_json[0], same_json[1]); var same = Generator.get_diff(same_json[0], same_json[1]);
expect(same).toEqual(nodiff); expect(same).toEqual(nodiff);
for (var json_obj in different_jsons) { for (var json_obj in different_jsons) {
var different = Generator.get_diff(different_jsons[json_obj][1], different_jsons[json_obj][0]); var different = Generator.get_diff(different_jsons[json_obj][0], different_jsons[json_obj][1]);
expect(different).toEqual(diff); expect(different).toEqual(diff);
} }
var different2 = Generator.get_diff(different_json[1], different_json[0]); var different2 = Generator.get_diff(different_json[0], different_json[1]);
expect(different2).toEqual(diff2); expect(different2).toEqual(diff2);
var not_equal = Generator.get_diff(notEqual[1], notEqual[0]); var not_equal = Generator.get_diff(notEqual[0], notEqual[1]);
expect(not_equal).toEqual(noequal); expect(not_equal).toEqual(noequal);
}) })
); );
......
...@@ -73,7 +73,8 @@ module.exports = function (config) { ...@@ -73,7 +73,8 @@ module.exports = function (config) {
reporters: ['progress', 'coverage'], reporters: ['progress', 'coverage'],
preprocessors: { preprocessors: {
//'app/app.js': ['coverage'], 'app/app.js': ['coverage'],
'app/app_routes.js': ['coverage'],
'app/components/auth/*.js': ['coverage'], 'app/components/auth/*.js': ['coverage'],
'app/components/crud/*.js': ['coverage'], 'app/components/crud/*.js': ['coverage'],
'app/components/dashboard/*.js': ['coverage'], 'app/components/dashboard/*.js': ['coverage'],
...@@ -90,6 +91,7 @@ module.exports = function (config) { ...@@ -90,6 +91,7 @@ module.exports = function (config) {
lines: 60, lines: 60,
excludes: [ excludes: [
'app/components/uitemplates/*.js', 'app/components/uitemplates/*.js',
//'app/zetalib/interceptors.js'
] ]
} }
}, },
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment