mirror of
https://mau.dev/maunium/synapse.git
synced 2024-11-16 06:51:46 +01:00
Added test directory, karma conf, and angular-mocks. Expect it to work? Pah, not yet.
This commit is contained in:
parent
faec6f7f31
commit
6a6a718898
3 changed files with 2314 additions and 0 deletions
2173
webclient/js/angular-mocks.js
vendored
Executable file
2173
webclient/js/angular-mocks.js
vendored
Executable file
File diff suppressed because it is too large
Load diff
82
webclient/test/karma.conf.js
Normal file
82
webclient/test/karma.conf.js
Normal file
|
@ -0,0 +1,82 @@
|
||||||
|
// Karma configuration
|
||||||
|
// Generated on Thu Sep 18 2014 14:25:57 GMT+0100 (BST)
|
||||||
|
|
||||||
|
module.exports = function(config) {
|
||||||
|
config.set({
|
||||||
|
|
||||||
|
// base path that will be used to resolve all patterns (eg. files, exclude)
|
||||||
|
basePath: '',
|
||||||
|
|
||||||
|
|
||||||
|
// frameworks to use
|
||||||
|
// available frameworks: https://npmjs.org/browse/keyword/karma-adapter
|
||||||
|
frameworks: ['jasmine'],
|
||||||
|
|
||||||
|
|
||||||
|
// list of files / patterns to load in the browser
|
||||||
|
// XXX: Order is important, and doing /js/angular* makes the tests not run :/
|
||||||
|
files: [
|
||||||
|
'../js/jquery*',
|
||||||
|
'../js/angular.js',
|
||||||
|
'../js/angular-mocks.js',
|
||||||
|
'../js/angular-route.js',
|
||||||
|
'../js/angular-animate.js',
|
||||||
|
'../js/angular-sanitize.js',
|
||||||
|
'../js/ng-infinite-scroll-matrix.js',
|
||||||
|
'../login/**/*.*',
|
||||||
|
'../room/**/*.*',
|
||||||
|
'../components/**/*.*',
|
||||||
|
'../user/**/*.*',
|
||||||
|
'../home/**/*.*',
|
||||||
|
'../recents/**/*.*',
|
||||||
|
'../settings/**/*.*',
|
||||||
|
'../app.js',
|
||||||
|
'../app*',
|
||||||
|
'./unit/**/*.js'
|
||||||
|
],
|
||||||
|
|
||||||
|
|
||||||
|
// list of files to exclude
|
||||||
|
exclude: [
|
||||||
|
],
|
||||||
|
|
||||||
|
|
||||||
|
// preprocess matching files before serving them to the browser
|
||||||
|
// available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor
|
||||||
|
preprocessors: {
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
// test results reporter to use
|
||||||
|
// possible values: 'dots', 'progress'
|
||||||
|
// available reporters: https://npmjs.org/browse/keyword/karma-reporter
|
||||||
|
reporters: ['progress'],
|
||||||
|
|
||||||
|
|
||||||
|
// web server port
|
||||||
|
port: 9876,
|
||||||
|
|
||||||
|
|
||||||
|
// enable / disable colors in the output (reporters and logs)
|
||||||
|
colors: true,
|
||||||
|
|
||||||
|
|
||||||
|
// level of logging
|
||||||
|
// possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG
|
||||||
|
logLevel: config.LOG_DEBUG,
|
||||||
|
|
||||||
|
|
||||||
|
// enable / disable watching file and executing tests whenever any file changes
|
||||||
|
autoWatch: true,
|
||||||
|
|
||||||
|
|
||||||
|
// start these browsers
|
||||||
|
// available browser launchers: https://npmjs.org/browse/keyword/karma-launcher
|
||||||
|
browsers: ['Chrome'],
|
||||||
|
|
||||||
|
|
||||||
|
// Continuous Integration mode
|
||||||
|
// if true, Karma captures browsers, runs the tests and exits
|
||||||
|
singleRun: false
|
||||||
|
});
|
||||||
|
};
|
59
webclient/test/unit/user-controller.spec.js
Normal file
59
webclient/test/unit/user-controller.spec.js
Normal file
|
@ -0,0 +1,59 @@
|
||||||
|
describe("UserCtrl", function() {
|
||||||
|
var scope, ctrl, matrixService, routeParams, $q, $timeout;
|
||||||
|
var userId = "@foo:bar";
|
||||||
|
var displayName = "Foo";
|
||||||
|
var avatarUrl = "avatar.url";
|
||||||
|
|
||||||
|
beforeEach(module('matrixWebClient'));
|
||||||
|
|
||||||
|
beforeEach(function() {
|
||||||
|
|
||||||
|
inject(function($rootScope, $injector, $controller, _$q_, _$timeout_) {
|
||||||
|
$q = _$q_;
|
||||||
|
$timeout = _$timeout_;
|
||||||
|
|
||||||
|
matrixService = {
|
||||||
|
config: function() {
|
||||||
|
return {
|
||||||
|
user_id: userId
|
||||||
|
};
|
||||||
|
},
|
||||||
|
|
||||||
|
getDisplayName: function(uid) {
|
||||||
|
var d = $q.defer();
|
||||||
|
// FIXME: everything goes into fire here
|
||||||
|
d.resolve({
|
||||||
|
data: {
|
||||||
|
displayname: displayName
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return d;
|
||||||
|
},
|
||||||
|
|
||||||
|
getProfilePictureUrl: function(uid) {
|
||||||
|
var d = $q.defer();
|
||||||
|
d.resolve({
|
||||||
|
data: {
|
||||||
|
avatar_url: avatarUrl
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return d;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
scope = $rootScope.$new();
|
||||||
|
routeParams = {
|
||||||
|
user_matrix_id: userId
|
||||||
|
};
|
||||||
|
ctrl = $controller('UserController', {
|
||||||
|
'$scope': scope,
|
||||||
|
'$routeParams': routeParams,
|
||||||
|
'matrixService': matrixService
|
||||||
|
});
|
||||||
|
console.log("end inject");
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should display your user id', function() {
|
||||||
|
expect(scope.user_id).toEqual(userId);
|
||||||
|
});
|
||||||
|
});
|
Loading…
Reference in a new issue