Commit f8d98a0a authored by Evren Kutar's avatar Evren Kutar

form_diff function and test

parent b6e2cadc
......@@ -7,6 +7,7 @@ angular.module(
'ngSanitize',
'ngAnimate',
'ngQuantum',
'general',
'zaerp.dashboard',
'zaerp.login',
'zaerp.version',
......
......@@ -97,6 +97,7 @@
<script type="text/javascript" src="bower_components/angular-schema-form/dist/bootstrap-decorator.min.js"></script>
<script src="app.js"></script>
<script src="zlib/general.js"></script>
<!-- login js -->
......
......@@ -11,7 +11,7 @@ login.config(['$routeProvider', function ($routeProvider) {
// controller: 'LoginCtrl'
//});
}]);
login.controller('LoginCtrl', function ($scope, $q, $timeout, $http, $location, $rootScope, AUTH_EVENTS, LoginService) {
login.controller('LoginCtrl', function ($scope, $q, $timeout, $http, $location, $rootScope, AUTH_EVENTS, LoginService, FormDiff) {
$scope.schema =
{
title: "Login",
......@@ -74,6 +74,7 @@ login.controller('LoginCtrl', function ($scope, $q, $timeout, $http, $location,
}
];
$scope.onSubmit = function(form){
console.log(FormDiff.get_diff({adad: 2, adada: 3},{adad: 2, adada: 4}));
$scope.$broadcast('schemaFormValidate');
if (form.$valid){
var credentials = {email: form.email.$modelValue, password: form.password.$modelValue};
......
/**
* Created by Evren Kutar on 09/06/15.
*/
//angular.module('FormDiff', [])
/**
* service to return form diff for all form submits
*/
var general = angular.module('general', []);
general.factory('FormDiff', function(){
var formDiff = {};
formDiff.get_diff = function (obj1, obj2) {
var result = {};
for (key in obj1) {
if (obj2[key] != obj1[key]) result[key] = obj2[key];
if (typeof obj2[key] == 'array' && typeof obj1[key] == 'array')
result[key] = arguments.callee(obj1[key], obj2[key]);
if (typeof obj2[key] == 'object' && typeof obj1[key] == 'object')
result[key] = arguments.callee(obj1[key], obj2[key]);
}
return result;
}
return formDiff;
});
\ No newline at end of file
/**
* Created by Evren Kutar on 09/06/15.
*/
'use strict';
describe('general module', function () {
beforeEach(module('general'));
describe('form diff factory', function () {
it('should return diff object', inject(['FormDiff',
function (FormDiff) {
expect(FormDiff.get_diff).not.toBe(null);
// test cases - testing for success
var same_json = [
{email:'test@test.com', id:2, name:'travolta'},
{email:'test@test.com', id:2, name:'travolta'}
];
// test cases - testing for failure
var different_json = [
{email:'test@test.com', id:2, name:'travolta'},
{email:'test1@test.com', id:2, name:'john'}
];
var diff = {email:'test1@test.com', name:'john'};
var nodiff = {};
var same = FormDiff.get_diff(same_json[0], same_json[1]);
expect(same).toEqual(nodiff);
var different = FormDiff.get_diff(different_json[0], different_json[1]);
expect(different).toEqual(diff);
}])
);
});
});
\ No newline at end of file
......@@ -15,24 +15,26 @@ module.exports = function (config) {
'app/bower_components/angular-mocks/angular-mocks.js',
'app/app.js',
'app/components/**/*.js',
'app/zlib/*.js',
'app/login/*.js',
'app/dashboard/*.js'
],
preprocessors: {
//'app/app.js': 'coverage',
'app/components/**/*.js': 'coverage',
'app/login/*.js': 'coverage',
'app/dashboard/*.js': 'coverage'
},
reporters: ['coverage'],
//preprocessors: {
// 'app/app.js': 'coverage',
// 'app/components/**/*.js': 'coverage',
// 'app/zlib/*.js': 'coverage',
// 'app/login/*.js': 'coverage',
// 'app/dashboard/*.js': 'coverage'
//},
//
//reporters: ['coverage'],
autoWatch: true,
frameworks: ['jasmine'],
browsers: ['ChromeCanary'],
browsers: ['Chrome'],
plugins: [
'karma-chrome-launcher',
......
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