Skip to content

Commit e129c38

Browse files
committed
Merge pull request #1097 from kingcody/feature/update-angular+testing
Update angular and testing frameworks
2 parents 43de9b6 + f5acad0 commit e129c38

12 files changed

+83
-70
lines changed

Diff for: app/templates/_bower.json

+9-9
Original file line numberDiff line numberDiff line change
@@ -2,23 +2,23 @@
22
"name": "<%= _.slugify(_.humanize(appname)) %>",
33
"version": "0.0.0",
44
"dependencies": {
5-
"angular": "~1.2",
5+
"angular": "~1.4.0",
66
"json3": "~3.3.1",
77
"es5-shim": "~3.0.1",<% if(filters.bootstrap) { %><% if (filters.sass) { %>
88
"bootstrap-sass-official": "~3.1.1",<% } %>
99
"bootstrap": "~3.1.1",<% } %>
10-
"angular-resource": "~1.2",
11-
"angular-cookies": "~1.2",
12-
"angular-sanitize": "~1.2",<% if (filters.ngroute) { %>
13-
"angular-route": "~1.2",<% } %><% if (filters.uibootstrap) { %>
14-
"angular-bootstrap": "~0.11.0",<% } %>
10+
"angular-resource": "~1.4.0",
11+
"angular-cookies": "~1.4.0",
12+
"angular-sanitize": "~1.4.0",<% if (filters.ngroute) { %>
13+
"angular-route": "~1.4.0",<% } %><% if (filters.uibootstrap) { %>
14+
"angular-bootstrap": "~0.13.0",<% } %>
1515
"font-awesome": ">=4.1.0",
1616
"lodash": "~2.4.1"<% if(filters.socketio) { %>,
17-
"angular-socket-io": "~0.6.0"<% } %><% if(filters.uirouter) { %>,
17+
"angular-socket-io": "~0.7.0"<% } %><% if(filters.uirouter) { %>,
1818
"angular-ui-router": "~0.2.15"<% } %>
1919
},
2020
"devDependencies": {
21-
"angular-mocks": "~1.2",
22-
"angular-scenario": "~1.2"
21+
"angular-mocks": "~1.4.0",
22+
"angular-scenario": "~1.4.0"
2323
}
2424
}

Diff for: app/templates/_package.json

+19-17
Original file line numberDiff line numberDiff line change
@@ -64,11 +64,10 @@
6464
"grunt-nodemon": "~0.2.0",
6565
"grunt-angular-templates": "^0.5.4",
6666
"grunt-dom-munger": "^3.4.0",
67-
"grunt-protractor-runner": "^1.1.0",
67+
"grunt-protractor-runner": "^2.0.0",
6868
"grunt-injector": "~0.5.4",
69-
"grunt-karma": "~0.8.2",
70-
"grunt-build-control": "~0.4.0",
71-
"grunt-mocha-test": "~0.10.2",<% if(filters.sass) { %>
69+
"grunt-karma": "~0.12.0",
70+
"grunt-build-control": "~0.4.0",<% if(filters.sass) { %>
7271
"grunt-contrib-sass": "^0.7.3",<% } %><% if(filters.stylus) { %>
7372
"grunt-contrib-stylus": "latest",<% } %>
7473
"jit-grunt": "^0.5.0",
@@ -79,28 +78,31 @@
7978
"open": "~0.0.4",
8079
"jshint-stylish": "~0.1.5",
8180
"connect-livereload": "^0.5.3",
82-
"grunt-mocha-test": "~0.10.2",
83-
"grunt-mocha-istanbul": "^2.0.0",
81+
"mocha": "^2.2.5",
82+
"grunt-mocha-test": "~0.12.7",
83+
"grunt-mocha-istanbul": "^2.4.0",
8484
"chai-as-promised": "^5.1.0",
8585
"chai-things": "^0.2.0",
8686
"sinon-chai": "^2.8.0",<% if (filters.mocha) { %>
87-
"karma-mocha": "^0.1.9",
87+
"karma-mocha": "^0.2.0",
8888
"karma-chai-plugins": "^0.6.0",<% } if (filters.jasmine) { %>
89-
"karma-jasmine": "~0.1.5",<% } %>
89+
"jasmine-core": "^2.3.4",
90+
"karma-jasmine": "~0.3.0",
91+
"jasmine-spec-reporter": "^2.4.0",<% } %>
9092
"karma-ng-scenario": "~0.1.0",
91-
"karma-firefox-launcher": "~0.1.3",
93+
"karma-firefox-launcher": "~0.1.6",
9294
"karma-script-launcher": "~0.1.0",
9395
"karma-html2js-preprocessor": "~0.1.0",
94-
"karma-ng-jade2js-preprocessor": "^0.1.2",
95-
"karma-chrome-launcher": "~0.1.3",
96+
"karma-ng-jade2js-preprocessor": "^0.2.0",
97+
"karma-chrome-launcher": "~0.2.0",
9698
"requirejs": "~2.1.11",
97-
"karma-requirejs": "~0.2.1",
98-
"karma-coffee-preprocessor": "~0.2.1",
99+
"karma-requirejs": "~0.2.2",
100+
"karma-coffee-preprocessor": "~0.3.0",
99101
"karma-jade-preprocessor": "0.0.11",
100-
"karma-phantomjs-launcher": "~0.1.4",
101-
"karma": "~0.12.9",
102-
"karma-ng-html2js-preprocessor": "~0.1.0",
103-
"karma-spec-reporter": "0.0.13",
102+
"karma-phantomjs-launcher": "~0.2.0",
103+
"karma": "~0.13.3",
104+
"karma-ng-html2js-preprocessor": "~0.1.2",
105+
"karma-spec-reporter": "~0.0.20",
104106
"proxyquire": "^1.0.1",
105107
"supertest": "~0.11.0"
106108
},

Diff for: app/templates/e2e/account(auth)/login/login.spec(jasmine).js

+3-3
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ describe('Login View', function() {
88
var page;
99

1010
var loadPage = function() {
11-
browser.get('/login');
11+
browser.get(config.baseUrl + '/login');
1212
page = require('./login.po');
1313
};
1414

@@ -45,7 +45,7 @@ describe('Login View', function() {
4545

4646
var navbar = require('../../components/navbar/navbar.po');
4747

48-
expect(browser.getLocationAbsUrl()).toBe(config.baseUrl + '/');
48+
expect(browser.getCurrentUrl()).toBe(config.baseUrl + '/');
4949
expect(navbar.navbarAccountGreeting.getText()).toBe('Hello ' + testUser.name);
5050
});
5151

@@ -55,7 +55,7 @@ describe('Login View', function() {
5555
password: 'badPassword'
5656
});
5757

58-
expect(browser.getLocationAbsUrl()).toBe(config.baseUrl + '/login');
58+
expect(browser.getCurrentUrl()).toBe(config.baseUrl + '/login');
5959

6060
var helpBlock = page.form.element(by.css('.form-group.has-error .help-block.ng-binding'));
6161
expect(helpBlock.getText()).toBe('This password is not correct.');

Diff for: app/templates/e2e/account(auth)/login/login.spec(mocha).js

+3-3
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ describe('Login View', function() {
88
var page;
99

1010
var loadPage = function() {
11-
browser.get('/login');
11+
browser.get(config.baseUrl + '/login');
1212
page = require('./login.po');
1313
};
1414

@@ -50,7 +50,7 @@ describe('Login View', function() {
5050

5151
var navbar = require('../../components/navbar/navbar.po');
5252

53-
<%= does("browser.getLocationAbsUrl()") %>.eventually.equal(config.baseUrl + '/');
53+
<%= does("browser.getCurrentUrl()") %>.eventually.equal(config.baseUrl + '/');
5454
<%= does("navbar.navbarAccountGreeting.getText()") %>.eventually.equal('Hello ' + testUser.name);
5555
});
5656

@@ -65,7 +65,7 @@ describe('Login View', function() {
6565
password: 'badPassword'
6666
});
6767

68-
<%= does("browser.getLocationAbsUrl()") %>.eventually.equal(config.baseUrl + '/login');
68+
<%= does("browser.getCurrentUrl()") %>.eventually.equal(config.baseUrl + '/login');
6969

7070
var helpBlock = page.form.element(by.css('.form-group.has-error .help-block.ng-binding'));
7171
<%= does("helpBlock.getText()") %>.eventually.equal('This password is not correct.');

Diff for: app/templates/e2e/account(auth)/logout/logout.spec(jasmine).js

+4-4
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ var UserModel = require(config.serverConfig.root + '/server/sqldb').User;<% } %>
66

77
describe('Logout View', function() {
88
var login = function(user) {
9-
browser.get('/login');
9+
browser.get(config.baseUrl + '/login');
1010
require('../login/login.po').login(user);
1111
};
1212

@@ -34,14 +34,14 @@ describe('Logout View', function() {
3434
it('should logout a user and redirecting to "/"', function() {
3535
var navbar = require('../../components/navbar/navbar.po');
3636

37-
expect(browser.getLocationAbsUrl()).toBe(config.baseUrl + '/');
37+
expect(browser.getCurrentUrl()).toBe(config.baseUrl + '/');
3838
expect(navbar.navbarAccountGreeting.getText()).toBe('Hello ' + testUser.name);
3939

40-
browser.get('/logout');
40+
browser.get(config.baseUrl + '/logout');
4141

4242
navbar = require('../../components/navbar/navbar.po');
4343

44-
expect(browser.getLocationAbsUrl()).toBe(config.baseUrl + '/');
44+
expect(browser.getCurrentUrl()).toBe(config.baseUrl + '/');
4545
expect(navbar.navbarAccountGreeting.isDisplayed()).toBe(false);
4646
});
4747

Diff for: app/templates/e2e/account(auth)/logout/logout.spec(mocha).js

+4-4
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ var UserModel = require(config.serverConfig.root + '/server/sqldb').User;<% } %>
66

77
describe('Logout View', function() {
88
var login = function(user) {
9-
browser.get('/login');
9+
browser.get(config.baseUrl + '/login');
1010
require('../login/login.po').login(user);
1111
};
1212

@@ -39,14 +39,14 @@ describe('Logout View', function() {
3939
it('should logout a user and redirecting to "/"', function() {
4040
var navbar = require('../../components/navbar/navbar.po');
4141

42-
<%= does("browser.getLocationAbsUrl()") %>.eventually.equal(config.baseUrl + '/');
42+
<%= does("browser.getCurrentUrl()") %>.eventually.equal(config.baseUrl + '/');
4343
<%= does("navbar.navbarAccountGreeting.getText()") %>.eventually.equal('Hello ' + testUser.name);
4444

45-
browser.get('/logout');
45+
browser.get(config.baseUrl + '/logout');
4646

4747
navbar = require('../../components/navbar/navbar.po');
4848

49-
<%= does("browser.getLocationAbsUrl()") %>.eventually.equal(config.baseUrl + '/');
49+
<%= does("browser.getCurrentUrl()") %>.eventually.equal(config.baseUrl + '/');
5050
<%= does("navbar.navbarAccountGreeting.isDisplayed()") %>.eventually.equal(false);
5151
});
5252

Diff for: app/templates/e2e/account(auth)/signup/signup.spec(jasmine).js

+12-11
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@ describe('Signup View', function() {
88
var page;
99

1010
var loadPage = function() {
11-
browser.get('/signup');
11+
browser.manage().deleteAllCookies();
12+
browser.get(config.baseUrl + '/signup');
1213
page = require('./signup.po');
1314
};
1415

@@ -35,24 +36,24 @@ describe('Signup View', function() {
3536

3637
describe('with local auth', function() {
3738

38-
it('should signup a new user, log them in, and redirecting to "/"', function(done) {
39-
<% if (filters.mongooseModels) { %>UserModel.remove(function() {<% }
40-
if (filters.sequelizeModels) { %>UserModel.destroy({ where: {} }).then(function() {<% } %>
41-
page.signup(testUser);
39+
beforeAll(function(done) {
40+
<% if (filters.mongooseModels) { %>UserModel.removeAsync().then(done);<% }
41+
if (filters.sequelizeModels) { %>UserModel.destroy({ where: {} }).then(done);<% } %>
42+
});
4243

43-
var navbar = require('../../components/navbar/navbar.po');
44+
it('should signup a new user, log them in, and redirecting to "/"', function() {
45+
page.signup(testUser);
4446

45-
expect(browser.getLocationAbsUrl()).toBe(config.baseUrl + '/');
46-
expect(navbar.navbarAccountGreeting.getText()).toBe('Hello ' + testUser.name);
47+
var navbar = require('../../components/navbar/navbar.po');
4748

48-
done();
49-
});
49+
expect(browser.getCurrentUrl()).toBe(config.baseUrl + '/');
50+
expect(navbar.navbarAccountGreeting.getText()).toBe('Hello ' + testUser.name);
5051
});
5152

5253
it('should indicate signup failures', function() {
5354
page.signup(testUser);
5455

55-
expect(browser.getLocationAbsUrl()).toBe(config.baseUrl + '/signup');
56+
expect(browser.getCurrentUrl()).toBe(config.baseUrl + '/signup');
5657
expect(page.form.email.getAttribute('class')).toContain('ng-invalid-mongoose');
5758

5859
var helpBlock = page.form.element(by.css('.form-group.has-error .help-block.ng-binding'));

Diff for: app/templates/e2e/account(auth)/signup/signup.spec(mocha).js

+12-11
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@ describe('Signup View', function() {
88
var page;
99

1010
var loadPage = function() {
11-
browser.get('/signup');
11+
browser.manage().deleteAllCookies()
12+
browser.get(config.baseUrl + '/signup');
1213
page = require('./signup.po');
1314
};
1415

@@ -40,18 +41,18 @@ describe('Signup View', function() {
4041

4142
describe('with local auth', function() {
4243

43-
it('should signup a new user, log them in, and redirecting to "/"', function(done) {
44-
<% if (filters.mongooseModels) { %>UserModel.remove(function() {<% }
45-
if (filters.sequelizeModels) { %>UserModel.destroy({ where: {} }).then(function() {<% } %>
46-
page.signup(testUser);
44+
before(function() {
45+
<% if (filters.mongooseModels) { %>return UserModel.removeAsync();<% }
46+
if (filters.sequelizeModels) { %>return UserModel.destroy({ where: {} });<% } %>
47+
})
4748

48-
var navbar = require('../../components/navbar/navbar.po');
49+
it('should signup a new user, log them in, and redirecting to "/"', function() {
50+
page.signup(testUser);
4951

50-
<%= does("browser.getLocationAbsUrl()") %>.eventually.equal(config.baseUrl + '/');
51-
<%= does("navbar.navbarAccountGreeting.getText()") %>.eventually.equal('Hello ' + testUser.name);
52+
var navbar = require('../../components/navbar/navbar.po');
5253

53-
done();
54-
});
54+
<%= does("browser.getCurrentUrl()") %>.eventually.equal(config.baseUrl + '/');
55+
<%= does("navbar.navbarAccountGreeting.getText()") %>.eventually.equal('Hello ' + testUser.name);
5556
});
5657

5758
describe('and invalid credentials', function() {
@@ -62,7 +63,7 @@ describe('Signup View', function() {
6263
it('should indicate signup failures', function() {
6364
page.signup(testUser);
6465

65-
<%= does("browser.getLocationAbsUrl()") %>.eventually.equal(config.baseUrl + '/signup');
66+
<%= does("browser.getCurrentUrl()") %>.eventually.equal(config.baseUrl + '/signup');
6667
<%= does("page.form.email.getAttribute('class')") %>.eventually.contain('ng-invalid-mongoose');
6768

6869
var helpBlock = page.form.element(by.css('.form-group.has-error .help-block.ng-binding'));

Diff for: app/templates/e2e/components/navbar/navbar.po.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ var NavbarComponent = function() {
1010
this.navbarHeader = this.navbar.element(by.css('.navbar-header'));
1111
this.navbarNav = this.navbar.element(by.css('#navbar-main .nav.navbar-nav:not(.navbar-right)'));<% if (filters.auth) { %>
1212
this.navbarAccount = this.navbar.element(by.css('#navbar-main .nav.navbar-nav.navbar-right'));
13-
this.navbarAccountGreeting = this.navbarAccount.element(by.binding('Hello {{ getCurrentUser().name }}'));<% } %>
13+
this.navbarAccountGreeting = this.navbarAccount.element(by.binding('getCurrentUser().name'));<% } %>
1414
};
1515

1616
module.exports = new NavbarComponent();

Diff for: app/templates/e2e/main/main.spec(jasmine).js

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
'use strict';
22

3+
var config = browser.params;
4+
35
describe('Main View', function() {
46
var page;
57

68
beforeEach(function() {
7-
browser.get('/');
9+
browser.get(config.baseUrl + '/');
810
page = require('./main.po');
911
});
1012

Diff for: app/templates/e2e/main/main.spec(mocha).js

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
'use strict';
22

3+
var config = browser.params;
4+
35
describe('Main View', function() {
46
var page;
57

68
beforeEach(function() {
7-
browser.get('/');
9+
browser.get(config.baseUrl + '/');
810
page = require('./main.po');
911
});
1012

Diff for: app/templates/protractor.conf.js

+10-5
Original file line numberDiff line numberDiff line change
@@ -43,13 +43,14 @@ var config = {
4343
// Jasmine and Cucumber are fully supported as a test and assertion framework.
4444
// Mocha has limited beta support. You will need to include your own
4545
// assertion framework if working with mocha.
46-
framework: '<% if (filters.jasmine) { %>jasmine<% } if (filters.mocha) { %>mocha<% } %>',
46+
framework: '<% if (filters.jasmine) { %>jasmine2<% } if (filters.mocha) { %>mocha<% } %>',
4747
<% if (filters.jasmine) { %>
4848
// ----- Options to be passed to minijasminenode -----
4949
//
50-
// See the full list at https://github.com/juliemr/minijasminenode
50+
// See the full list at https://github.com/jasmine/jasmine-npm
5151
jasmineNodeOpts: {
52-
defaultTimeoutInterval: 30000
52+
defaultTimeoutInterval: 30000,
53+
print: function() {} // for jasmine-spec-reporter
5354
},<% } if (filters.mocha) { %>
5455
// ----- Options to be passed to mocha -----
5556
mochaOpts: {
@@ -73,9 +74,13 @@ var config = {
7374
'should',
7475
Object.getOwnPropertyDescriptor(Object.prototype, 'should')
7576
);
77+
<% } if (filters.jasmine) { %>
78+
var SpecReporter = require('jasmine-spec-reporter');
79+
// add jasmine spec reporter
80+
jasmine.getEnv().addReporter(new SpecReporter({displayStacktrace: true}));
7681
<% } %>
77-
var serverConfig = config.params.serverConfig;
78-
<% if (filters.mongoose) { %>
82+
var serverConfig = config.params.serverConfig;<% if (filters.mongoose) { %>
83+
7984
// Setup mongo for tests
8085
var mongoose = require('mongoose-bird')();
8186
mongoose.connect(serverConfig.mongo.uri, serverConfig.mongo.options); // Connect to database<% } %>

0 commit comments

Comments
 (0)