Guest User

Untitled

a guest
Feb 12th, 2018
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.77 KB | None | 0 0
  1. $ yarn test
  2. # node node_modules/karma/bin/karma start ./karma.conf.js --single-run
  3.  
  4. "angular-mocks": "~1.5.10",
  5. "karma-webpack": "^2.0.1",
  6. "webpack": "^1.14.0",
  7. "webpack-dev-server": "^1.16.2",
  8.  
  9. PhantomJS 2.1.1 (Linux 0.0.0) leave API service create(): should create a leave FAILED
  10. Error: [$injector:unpr] Unknown provider: LeaveServiceProvider <- LeaveService
  11. http://errors.angularjs.org/1.5.10/$injector/unpr?p0=LeaveServiceProvider%20%3C-%20LeaveService (line 4674)
  12. static/app.min.js:4674:87
  13. getService@static/app.min.js:4827:40
  14. static/app.min.js:4679:49
  15. getService@static/app.min.js:4827:40
  16. injectionArgs@static/app.min.js:4852:69
  17. invoke@static/app.min.js:4874:32
  18. WorkFn@node_modules/angular-mocks/angular-mocks.js:3130:26
  19. inject@node_modules/angular-mocks/angular-mocks.js:3100:46
  20. test/leave.service.tests.js:55:23
  21. loaded@http://localhost:9876/context.js:151:17
  22. inject@node_modules/angular-mocks/angular-mocks.js:3097:28
  23. test/leave.service.tests.js:55:23
  24. loaded@http://localhost:9876/context.js:151:17
  25. TypeError: undefined is not an object (evaluating '$httpBackend.expectPOST') in test/leave.service.tests.js (line 64)
  26. test/leave.service.tests.js:64:16
  27. loaded@http://localhost:9876/context.js:151:17
  28. TypeError: undefined is not an object (evaluating '$httpBackend.verifyNoOutstandingExpectation') in test/leave.service.tests.js (line 114)
  29. test/leave.service.tests.js:114:16
  30. loaded@http://localhost:9876/context.js:151:17
  31. PhantomJS 2.1.1 (Linux 0.0.0): Executed 1 of 5 (1 FAILED) (skipped 4) ERROR (0.042 secs / 0.01 secs)
  32.  
  33. const webpack = require('webpack');
  34. const webpackConfig = require('./webpack.config.js');
  35.  
  36. module.exports = function (config) {
  37. config.set({
  38. basePath: './',
  39. frameworks: ['jasmine', 'mocha', 'chai'],
  40. files: [
  41. './static/app.min.js',
  42. 'node_modules/angular-mocks/angular-mocks.js',
  43. {pattern: 'test/leave.service.tests.js'}
  44. ],
  45. preprocessors: {
  46. 'test/leave.service.tests.js': ['webpack']
  47. },
  48. webpack: {
  49. module: webpackConfig.module,
  50. plugins: webpackConfig.plugins
  51. },
  52. webpackMiddleware: {
  53. stats: 'errors-only'
  54. },
  55. notifyReporter: {
  56. reportEachFailure: true,
  57. reportSuccess: false
  58. },
  59. plugins: [
  60. 'karma-phantomjs-launcher',
  61. 'karma-jasmine',
  62. 'karma-webpack',
  63. 'karma-mocha',
  64. 'karma-chai'
  65. ],
  66. browsers: ['PhantomJS']
  67. });
  68. };
  69.  
  70. const webpack = require('webpack');
  71. const path = require('path');
  72.  
  73. module.exports = {
  74. entry: {
  75. app: './src2/app.js'
  76. },
  77. output: {
  78. path: path.resolve(__dirname, './static'),
  79. publicPath: '/static/',
  80. filename: 'app.min.js'
  81. },
  82. plugins: [
  83. new webpack.ProvidePlugin({
  84. $: 'jquery',
  85. jQuery: 'jquery',
  86. 'window.jQuery': 'jquery',
  87. moment: 'moment'
  88. })
  89. ],
  90.  
  91. resolve: {
  92. root: path.resolve('./src2'),
  93. extensions: ['', '.js']
  94. },
  95. module: {
  96. loaders: [
  97. {test: /.css$/, loader: 'style-loader!css-loader'},
  98. {test: /.scss$/, loader: 'style-loader!css-loader!sass-loader'},
  99. {test: /.html$/, loader: 'html-loader'},
  100. {test: /.woff(?v=d+.d+.d+)?$/, loader: 'url-loader?limit=8192&mimetype=application/font-woff'},
  101. {test: /.woff2(?v=d+.d+.d+)?$/, loader: 'url-loader?limit=8192&mimetype=application/font-woff'},
  102. {test: /.ttf(?v=d+.d+.d+)?$/, loader: 'url-loader?limit=8192&mimetype=application/octet-stream'},
  103. {test: /.eot(?v=d+.d+.d+)?$/, loader: 'file-loader'},
  104. {test: /.svg(?v=d+.d+.d+)?$/, loader: 'url-loader?limit=8192&mimetype=image/svg+xml'}
  105. ]
  106. },
  107. devServer: {
  108. port: 8080,
  109. proxy: {
  110. '/api': {
  111. target: {
  112. host: '0.0.0.0',
  113. protocol: 'http:',
  114. port: 8000
  115. }
  116. }
  117. }
  118. }
  119. };
  120.  
  121. var chai = require('chai');
  122. var assert = chai.assert;
  123.  
  124. describe('leave API service', function () {
  125. var service;
  126. var $httpBackend;
  127.  
  128.  
  129. beforeEach(inject(function (_$httpBackend_, LeaveService) {
  130. $httpBackend = _$httpBackend_;
  131. service = LeaveService;
  132. }));
  133.  
  134. it('create(): should create a leave', function (done) {
  135. var foo = 'bar';
  136.  
  137. assert.equal(foo, 'bar');
  138. done();
  139. });
  140. });
  141.  
  142. beforeEach(angular.mock.module('app'));
  143.  
  144. beforeEach(function () {
  145. angular.mock.inject(function (_$httpBackend_, _LeaveService_) {
  146. $httpBackend = _$httpBackend_;
  147. service = _LeaveService_;
  148. });
  149. });
  150.  
  151. files: [
  152. './static/app.min.js',
  153. 'node_modules/angular-mocks/angular-mocks.js',
  154. {pattern: 'test/foo.service.tests.js'}
  155. ]
  156.  
  157. var chai = require('chai');
  158. var assert = chai.assert;
  159.  
  160. describe('leave API service', function () {
  161. var service;
  162. var $httpBackend;
  163.  
  164.  
  165. beforeEach(angular.mock.module('app'));
  166.  
  167. beforeEach(function () {
  168. angular.mock.inject(function (_$httpBackend_, _LeaveService_) {
  169. $httpBackend = _$httpBackend_;
  170. service = _LeaveService_;
  171. });
  172. });
  173.  
  174. it('create(): should create a leave', function (done) {
  175. var foo = 'bar';
  176.  
  177.  
  178. assert.equal(foo, 'bar');
  179. done();
  180. });
  181. });
  182.  
  183. const webpack = require('webpack');
  184. const path = require('path');
  185. const HtmlWebpackPlugin = require('html-webpack-plugin');
  186. const HtmlWebpackHarddiskPlugin = require('html-webpack-harddisk-plugin');
  187.  
  188. module.exports = {
  189. entry: {
  190. app: './src/app.js'
  191. },
  192. output: {
  193. path: path.resolve(__dirname, './static'),
  194. publicPath: '/static/',
  195. filename: '[name]-[hash:8].min.js'
  196. },
  197. plugins: [
  198. new webpack.optimize.ModuleConcatenationPlugin(),
  199. new webpack.ProvidePlugin({
  200. $: 'jquery',
  201. jQuery: 'jquery',
  202. moment: 'moment',
  203. Util: 'exports-loader?Util!bootstrap/js/dist/util'
  204. }),
  205. new HtmlWebpackPlugin({
  206. template: path.resolve(__dirname, './src', 'index.html'),
  207. filename: path.resolve(__dirname, 'index.html'),
  208. alwaysWriteToDisk: true
  209. }),
  210. new HtmlWebpackHarddiskPlugin()
  211. ],
  212. resolve: {alias: {Services: path.resolve(__dirname, 'src/services/')}},
  213. module: {
  214. rules: [
  215. {test: /.css$/, use: ['style-loader', 'css-loader']},
  216. {test: /.scss$/, use: ['style-loader', 'css-loader', 'sass-loader']},
  217. {test: /.html$/, use: ['html-loader']},
  218. {test: /src.*.js$/, use: ['ng-annotate-loader']},
  219. {test: /.(png|jpg|jpeg|gif|ico)$/, loader: 'file-loader?name=[name].[ext]'},
  220. {test: /.(woff|woff2|ttf|eot|svg)(?v=d+.d+.d+)?$/, loader: 'file-loader'}
  221. ]
  222. },
  223. devServer: {
  224. port: 8080,
  225. proxy: {
  226. '/api': {target: 'http://0.0.0.0:8000'},
  227. '/exports': {target: 'http://0.0.0.0:8000'},
  228. '/media': {target: 'http://0.0.0.0:8000'}
  229. }
  230. }
  231. };
  232.  
  233. const webpack = require('webpack');
  234. const webpackConfig = require('./webpack.config.js');
  235.  
  236. module.exports = function (config) {
  237. config.set({
  238. basePath: './',
  239. frameworks: ['jasmine', 'mocha', 'chai'],
  240. files: [
  241. './static/app.min.js',
  242. 'node_modules/angular-mocks/angular-mocks.js',
  243. {pattern: 'test/foo.service.tests.js'}
  244. ],
  245. preprocessors: {
  246. 'test/foo.service.tests.js': ['webpack']
  247. },
  248. webpack: {
  249. module: webpackConfig.module,
  250. plugins: webpackConfig.plugins
  251. },
  252. webpackMiddleware: {
  253. stats: 'errors-only'
  254. },
  255. notifyReporter: {
  256. reportEachFailure: true,
  257. reportSuccess: false
  258. },
  259. plugins: [
  260. 'karma-phantomjs-launcher',
  261. 'karma-jasmine',
  262. 'karma-webpack',
  263. 'karma-mocha',
  264. 'karma-chai'
  265. ],
  266. browsers: ['PhantomJS']
  267. });
  268. };
  269.  
  270. // leave-service.spec.js
  271. ...
  272. var FakeHttpService = function() {
  273. return {
  274. get: function(url) { return new Promise(); },
  275. post: function(url, data) { return new Promise(); },
  276. //...
  277. };
  278. };
  279. var leaveService = new LeaveService(new FakeHttpService());
Add Comment
Please, Sign In to add comment