sum7/warehost-frontend
sum7
/
warehost-frontend
Archived
1
0
Fork 0

improve tests

This commit is contained in:
Martin Geno 2016-08-17 22:35:25 +02:00
parent ef659724c7
commit cd02c1bad4
11 changed files with 118 additions and 51 deletions

View File

@ -4,7 +4,8 @@ angular.module('warehost', [
'ui.router', 'ui.router',
'ui.bootstrap', 'ui.bootstrap',
'config', 'config',
'session' 'session',
'alert'
]) ])
.config(['$urlRouterProvider','$httpProvider',function($urlRouterProvider,$httpProvider){ .config(['$urlRouterProvider','$httpProvider',function($urlRouterProvider,$httpProvider){
$urlRouterProvider.otherwise('/'); $urlRouterProvider.otherwise('/');

View File

@ -8,7 +8,10 @@ angular.module('warehost')
}) })
.state('app.index', { .state('app.index', {
url:'/', url:'/',
templateUrl: 'app/home.html' templateUrl: 'app/home.html',
controller:function(alert){
alert.set({});
}
}) })
.state('app.L', { .state('app.L', {
templateUrl: 'app/loggedin.html' templateUrl: 'app/loggedin.html'

View File

@ -31,11 +31,17 @@
span.glyphicon.glyphicon-user span.glyphicon.glyphicon-user
.navbar-text .navbar-text
span.glyphicon.glyphicon-log-out(ng-click="logout()") span.glyphicon.glyphicon-log-out(ng-click="logout()")
form.navbar-form.navbar-right(ng-if="!session.login.active",ng-class="{'has-warning':globals.currentUser.authdata}",ng-submit="login()") form.navbar-form.navbar-right(ng-if="!session.login.active",ng-submit="login()")
input.form-control(ng-model="obj.username",placeholder="Username") .form-group(ng-class="{'has-error': (error.fields.indexOf('username') >= 0)}")
input.form-control(ng-model="obj.username",placeholder="Username",pattern=".{3,}")
.form-group(ng-class="{'has-error': (error.fields.indexOf('password') >= 0)}")
.input-group .input-group
input.form-control(type="password",ng-model="obj.password",placeholder="Password") input.form-control(type="password",ng-model="obj.password",placeholder="Password")
.input-group-btn .input-group-btn
button.btn.btn-default(type="submit") button.btn.btn-default(type="submit")
span.glyphicon.glyphicon-log-in span.glyphicon.glyphicon-log-in
div(ui-view="",style="margin-top:53px;") div(style="margin-top:53px;")
.container(ng-if="error.msg")
.alert.alert-danger(style="margin-top:20px;")
{{error.msg}}
div(ui-view="")

View File

@ -1,7 +1,7 @@
'use strict'; 'use strict';
angular.module('warehost') angular.module('warehost')
.controller('MainCtrl',function($scope,$http,$state,config,session){ .controller('MainCtrl',function($scope,alert,$http,$state,config,session){
$scope.isOpen = false; $scope.isOpen = false;
$scope.obj = {}; $scope.obj = {};
$scope.$state = $state; $scope.$state = $state;
@ -12,11 +12,13 @@ angular.module('warehost')
$scope.logout = function(){ $scope.logout = function(){
$http.get(config.api+'/logout').then(function(res){ $http.get(config.api+'/logout').then(function(res){
session.set(res); session.set(res);
alert.set(res);
}); });
}; };
$scope.login = function(){ $scope.login = function(){
$http.post(config.api+'/login',$scope.obj).then(function(res){ $http.post(config.api+'/login',$scope.obj).then(function(res){
session.set(res); session.set(res);
alert.set(res);
$scope.obj = {}; $scope.obj = {};
}); });
}; };

View File

@ -3,19 +3,19 @@
.row .row
.col-md-6 .col-md-6
h2 Global h2 Global
form.well.well-sm(ng-submit="submit()") form.well.well-sm(ng-submit="submit()",name="myform")
.form-group .form-group
label(for="globalUsername") Username label(for="globalUsername") Username
input.form-control(id="globalUsername",ng-model="session.login.username",readonly) input.form-control(id="globalUsername",ng-model="session.login.username",readonly)
.form-group .form-group(ng-class="{'has-error': (error.fields.indexOf('currentpassword') >= 0)}")
label(for="currentPassword") Current Password label(for="currentPassword") Current Password
input.form-control(id="currentPassword",type="password",ng-model="obj.currentPassword") input.form-control(id="currentPassword",type="password",ng-model="obj.currentPassword")
.form-group .form-group(ng-class="{'has-error': (error.fields.indexOf('newpassword') >= 0 || !myform.newPassword.$valid)}")
label(for="newPassword") New Password label(for="newPassword") New Password
input.form-control(id="newPassword",type="password",ng-model="obj.newPassword") input.form-control(id="newPassword",type="password",name="newPassword",ng-model="obj.newPassword",ng-minlength="3")
.form-group .form-group(ng-class="{'has-error': (obj.newPassword != obj.repeatPassword && myform.repeatPassword.$dirty)}")
label(for="repeatPassword") Again Password label(for="repeatPassword") Again Password
input.form-control(id="repeatPassword",type="password",ng-model="obj.repeatPassword") input.form-control(id="repeatPassword",type="password",name="repeatPassword",ng-model="obj.repeatPassword")
.row .row
.col-xs-6 .col-xs-6
button.btn.btn-primary(type="submit") button.btn.btn-primary(type="submit")

View File

@ -1,19 +1,28 @@
'use strict'; 'use strict';
angular.module('warehost') angular.module('warehost')
.controller('SettingsCtrl',function(session,config,$scope,$http){ .controller('SettingsCtrl',function(session,config,alert,$scope,$http){
$scope.obj = {}; $scope.obj = {};
alert.set({});
$scope.submit = function(){ $scope.submit = function(){
if($scope.obj.newPassword === $scope.obj.repeatPassword){
$http.post(config.api+'/password',$scope.obj).then(function(res){ $http.post(config.api+'/password',$scope.obj).then(function(res){
session.set(res); session.set(res);
alert.set(res);
$scope.obj = {}; $scope.obj = {};
}); });
}else{
alert.set({msg:'Not equal Passwords'});
}
}; };
$scope.delete = function(){ $scope.delete = function(){
if(window.confirm('realy delete your login and everything else on warehost?')){ if(window.confirm('realy delete your login and everything else on warehost?')){
$http.get(config.api+'/delete').then(function(res){ $http.get(config.api+'/delete').then(function(res){
session.set(res); session.set(res);
alert.set(res);
}); });
}else{
alert.set({msg:'Account not deleted'});
} }
}; };
}); });

View File

@ -0,0 +1,13 @@
'use strict';
angular.module('alert', [])
.factory('alert', ['$rootScope',function($rootScope) {
return {
set: function (res){
if(res.data){
$rootScope.error = res.data.error;
}else{
$rootScope.error = res;
}
}
};
}]);

View File

@ -2,6 +2,6 @@
angular.module('config', []) angular.module('config', [])
.factory('config', function() { .factory('config', function() {
return { return {
api: 'http://[::1]:8080', api: 'http://[::1]:8080'
}; };
}); });

View File

@ -7,7 +7,6 @@ angular.module('session', [])
}, },
set: function (res){ set: function (res){
$rootScope.session = res.data.session; $rootScope.session = res.data.session;
console.log(res,$rootScope.session);
} }
}; };
}]); }]);

View File

@ -17,7 +17,7 @@
<!-- bower:css --> <!-- bower:css -->
<!-- endbower --> <!-- endbower -->
<link rel="stylesheet" href="bower_components/bootstrap/dist/css/bootstrap.min.css" /> <link rel="stylesheet" href="bower_components/bootstrap/dist/css/bootstrap.min.css" />
<link rel="stylesheet" href="bower_components/bootswatch/lumen/bootstrap.min.css" /> <link rel="stylesheet" href="bower_components/bootswatch/paper/bootstrap.min.css" />
<!-- endbuild --> <!-- endbuild -->
<!-- build:css({.tmp,public}) app/app.css --> <!-- build:css({.tmp,public}) app/app.css -->
<link rel="stylesheet" href="app/app.css"> <link rel="stylesheet" href="app/app.css">
@ -48,6 +48,7 @@
<script src="app/main.js"></script> <script src="app/main.js"></script>
<script src="app/settings.js"></script> <script src="app/settings.js"></script>
<script src="app/shift/index.js"></script> <script src="app/shift/index.js"></script>
<script src="components/alert.js"></script>
<script src="components/config.js"></script> <script src="components/config.js"></script>
<script src="components/session.js"></script> <script src="components/session.js"></script>
<!-- endinjector --> <!-- endinjector -->

View File

@ -10,8 +10,10 @@ describe('API',->
request({method: 'GET',uri:config.ADDRESS+"/status"},(err,res,body)-> request({method: 'GET',uri:config.ADDRESS+"/status"},(err,res,body)->
expect(err).to.be.null expect(err).to.be.null
expect(res.statusCode).to.be.equal(200) expect(res.statusCode).to.be.equal(200)
x = JSON.parse(body) if(typeof body == "string")
expect(x.data).to.be.true body = JSON.parse(body)
expect(body.data).to.be.true
expect(body.error).to.be.null
done() done()
) )
) )
@ -23,7 +25,11 @@ describe('API',->
}},(err,res,body)-> }},(err,res,body)->
expect(err).to.be.null expect(err).to.be.null
expect(res.statusCode).to.be.equal(200) expect(res.statusCode).to.be.equal(200)
if(typeof body == "string")
body = JSON.parse(body)
expect(body.data).to.be.false expect(body.data).to.be.false
expect(body.error.msg).to.not.be.null
expect(body.error.fields).to.include('username')
done() done()
) )
) )
@ -34,7 +40,11 @@ describe('API',->
}},(err,res,body)-> }},(err,res,body)->
expect(err).to.be.null expect(err).to.be.null
expect(res.statusCode).to.be.equal(200) expect(res.statusCode).to.be.equal(200)
if(typeof body == "string")
body = JSON.parse(body)
expect(body.data).to.be.false expect(body.data).to.be.false
expect(body.error.msg).to.not.be.null
expect(body.error.fields).to.include('password')
done() done()
) )
) )
@ -45,7 +55,10 @@ describe('API',->
}},(err,res,body)-> }},(err,res,body)->
expect(err).to.be.null expect(err).to.be.null
expect(res.statusCode).to.be.equal(200) expect(res.statusCode).to.be.equal(200)
if(typeof body == "string")
body = JSON.parse(body)
expect(body.data).to.be.true expect(body.data).to.be.true
expect(body.error).to.be.null
expect(body.session.login.active).to.be.true expect(body.session.login.active).to.be.true
done() done()
) )
@ -56,9 +69,11 @@ describe('API',->
request({method: 'GET',uri:config.ADDRESS+"/logout"},(err,res,body)-> request({method: 'GET',uri:config.ADDRESS+"/logout"},(err,res,body)->
expect(err).to.be.null expect(err).to.be.null
expect(res.statusCode).to.be.equal(200) expect(res.statusCode).to.be.equal(200)
x = JSON.parse(body) if(typeof body == "string")
expect(x.data).to.be.true body = JSON.parse(body)
expect(x.session.login).to.be.null expect(body.data).to.be.false
expect(body.error.msg).to.not.be.null
expect(body.error.fields).to.include('session')
done() done()
) )
) )
@ -67,9 +82,11 @@ describe('API',->
request({method: 'GET',uri:config.ADDRESS+"/logout",jar:j},(err,res,body)-> request({method: 'GET',uri:config.ADDRESS+"/logout",jar:j},(err,res,body)->
expect(err).to.be.null expect(err).to.be.null
expect(res.statusCode).to.be.equal(200) expect(res.statusCode).to.be.equal(200)
x = JSON.parse(body) if(typeof body == "string")
expect(x.data).to.be.true body = JSON.parse(body)
expect(x.session.login).to.be.null expect(body.data).to.be.true
expect(body.error).to.be.null
expect(body.session.login).to.be.null
done() done()
) )
) )
@ -83,9 +100,12 @@ describe('API',->
}},(err,res,body)-> }},(err,res,body)->
expect(err).to.be.null expect(err).to.be.null
expect(res.statusCode).to.be.equal(200) expect(res.statusCode).to.be.equal(200)
x = JSON.parse(body) if(typeof body == "string")
expect(x.data).to.be.true body = JSON.parse(body)
expect(x.session.login).to.be.null expect(body.data).to.be.false
expect(body.error.msg).to.not.be.null
expect(body.error.fields).to.include('session')
expect(body.session.login).to.be.null
done() done()
) )
) )
@ -97,9 +117,12 @@ describe('API',->
},jar:j},(err,res,body)-> },jar:j},(err,res,body)->
expect(err).to.be.null expect(err).to.be.null
expect(res.statusCode).to.be.equal(200) expect(res.statusCode).to.be.equal(200)
x = JSON.parse(body) if(typeof body == "string")
expect(x.data).to.be.false body = JSON.parse(body)
expect(x.session.login).to.be.null expect(body.data).to.be.false
expect(body.error.msg).to.not.be.null
expect(body.error.fields).to.include('currentpassword')
expect(body.session.login).to.not.be.null
done() done()
) )
) )
@ -112,9 +135,12 @@ describe('API',->
},jar:j},(err,res,body)-> },jar:j},(err,res,body)->
expect(err).to.be.null expect(err).to.be.null
expect(res.statusCode).to.be.equal(200) expect(res.statusCode).to.be.equal(200)
x = JSON.parse(body) if(typeof body == "string")
expect(x.data).to.be.false body = JSON.parse(body)
expect(x.session.login).to.be.null expect(body.data).to.be.false
expect(body.error.msg).to.not.be.null
expect(body.error.fields).to.include('newpassword')
expect(body.session.login).to.not.be.null
done() done()
) )
) )
@ -127,13 +153,15 @@ describe('API',->
},jar:j},(err,res,body)-> },jar:j},(err,res,body)->
expect(err).to.be.null expect(err).to.be.null
expect(res.statusCode).to.be.equal(200) expect(res.statusCode).to.be.equal(200)
x = JSON.parse(body) if(typeof body == "string")
expect(x.data).to.be.true body = JSON.parse(body)
expect(x.session.login).to.be.null expect(body.data).to.be.true
expect(body.error).to.be.null
request({method: 'POST',uri: config.ADDRESS+"/password",json:{ request({method: 'POST',uri: config.ADDRESS+"/password",json:{
currentpassword: config.testdata.password+"f", currentpassword: config.testdata.password+"f",
newpassword: config.testdata.password, newpassword: config.testdata.password,
},jar:j},(err,res,body)-> },jar:j},(err,res,body)->
expect(body.data).to.be.true
done() done()
) )
) )
@ -145,9 +173,12 @@ describe('API',->
request({method: 'GET',uri:config.ADDRESS+"/delete"},(err,res,body)-> request({method: 'GET',uri:config.ADDRESS+"/delete"},(err,res,body)->
expect(err).to.be.null expect(err).to.be.null
expect(res.statusCode).to.be.equal(200) expect(res.statusCode).to.be.equal(200)
x = JSON.parse(body) if(typeof body == "string")
expect(x.data).to.be.true body = JSON.parse(body)
expect(x.session.login).to.be.null expect(body.data).to.be.false
expect(body.error.msg).to.not.be.null
expect(body.error.fields).to.include('session')
expect(body.session.login).to.be.null
done() done()
) )
) )
@ -156,9 +187,11 @@ describe('API',->
request({method: 'GET',uri:config.ADDRESS+"/delete",jar:j},(err,res,body)-> request({method: 'GET',uri:config.ADDRESS+"/delete",jar:j},(err,res,body)->
expect(err).to.be.null expect(err).to.be.null
expect(res.statusCode).to.be.equal(200) expect(res.statusCode).to.be.equal(200)
x = JSON.parse(body) if(typeof body == "string")
expect(x.data).to.be.true body = JSON.parse(body)
expect(x.session.login).to.be.null expect(body.data).to.be.true
expect(body.error).to.be.null
expect(body.session.login).to.be.null
done() done()
) )
) )