forked from MirrorHub/synapse
Added boilerplate for running end-to-end tests.\nThis is done using Protractor, which looks for a .gitignored file environment-protractor.js which contains the selenium endpoint url.
This commit is contained in:
parent
e68dc04900
commit
e3152188ef
5 changed files with 30 additions and 6 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -25,5 +25,6 @@ graph/*.png
|
|||
graph/*.dot
|
||||
|
||||
webclient/config.js
|
||||
webclient/test/environment-protractor.js
|
||||
|
||||
uploads
|
||||
|
|
|
@ -1,9 +1,22 @@
|
|||
Requires:
|
||||
- npm
|
||||
- nodejs/npm
|
||||
- npm install karma
|
||||
- npm install jasmine
|
||||
- npm install protractor (e2e testing)
|
||||
|
||||
Setting up continuous integration / run the tests:
|
||||
Setting up continuous integration / run the unit tests (make sure you're in
|
||||
this directory so it can find the config file):
|
||||
karma start
|
||||
|
||||
Setting up e2e tests (only if you don't have a selenium server to run the tests
|
||||
on. If you do, edit the config to point to that url):
|
||||
webdriver-manager update
|
||||
webdriver-manager start
|
||||
|
||||
Running e2e tests:
|
||||
protractor protractor.conf.js
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
6
webclient/test/e2e/user.spec.js
Normal file
6
webclient/test/e2e/user.spec.js
Normal file
|
@ -0,0 +1,6 @@
|
|||
describe("user page", function() {
|
||||
it("should have a title", function() {
|
||||
browser.get("http://matrix.org/alpha/#/login");
|
||||
expect(browser.getTitle()).toEqual("[matrix]");
|
||||
});
|
||||
});
|
6
webclient/test/protractor.conf.js
Normal file
6
webclient/test/protractor.conf.js
Normal file
|
@ -0,0 +1,6 @@
|
|||
var env = require("./environment-protractor.js");
|
||||
|
||||
exports.config = {
|
||||
seleniumAddress: env.seleniumAddress,
|
||||
specs: ['e2e/*.spec.js']
|
||||
}
|
|
@ -21,13 +21,12 @@ describe("UserCtrl", function() {
|
|||
|
||||
getDisplayName: function(uid) {
|
||||
var d = $q.defer();
|
||||
// FIXME: everything goes into fire here
|
||||
d.resolve({
|
||||
data: {
|
||||
displayname: displayName
|
||||
}
|
||||
});
|
||||
return d;
|
||||
return d.promise;
|
||||
},
|
||||
|
||||
getProfilePictureUrl: function(uid) {
|
||||
|
@ -37,7 +36,7 @@ describe("UserCtrl", function() {
|
|||
avatar_url: avatarUrl
|
||||
}
|
||||
});
|
||||
return d;
|
||||
return d.promise;
|
||||
}
|
||||
};
|
||||
scope = $rootScope.$new();
|
||||
|
@ -49,7 +48,6 @@ describe("UserCtrl", function() {
|
|||
'$routeParams': routeParams,
|
||||
'matrixService': matrixService
|
||||
});
|
||||
console.log("end inject");
|
||||
});
|
||||
});
|
||||
|
||||
|
|
Loading…
Reference in a new issue