Merge pull request #12914 from dehrax/12224-final

Karma to Jest: rename and cleanup
pull/12920/head
Marcus Efraimsson 7 years ago committed by GitHub
commit 660530a3a6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 6
      .github/CONTRIBUTING.md
  2. 21
      README.md
  3. 19
      docs/sources/project/building_from_source.md
  4. 2
      jest.config.js
  5. 40
      karma.conf.js
  6. 10
      package.json
  7. 0
      public/app/containers/AlertRuleList/AlertRuleList.test.tsx
  8. 0
      public/app/containers/AlertRuleList/__snapshots__/AlertRuleList.test.tsx.snap
  9. 0
      public/app/containers/Explore/PromQueryField.test.tsx
  10. 0
      public/app/containers/Explore/TimePicker.test.tsx
  11. 0
      public/app/containers/Explore/slate-plugins/braces.test.ts
  12. 0
      public/app/containers/Explore/slate-plugins/clear.test.ts
  13. 0
      public/app/containers/Explore/utils/prometheus.test.ts
  14. 0
      public/app/containers/ManageDashboards/FolderSettings.test.tsx
  15. 0
      public/app/containers/ServerStats/ServerStats.test.tsx
  16. 0
      public/app/containers/ServerStats/__snapshots__/ServerStats.test.tsx.snap
  17. 0
      public/app/core/components/DeleteButton/DeleteButton.test.tsx
  18. 0
      public/app/core/components/EmptyListCTA/EmptyListCTA.test.tsx
  19. 0
      public/app/core/components/EmptyListCTA/__snapshots__/EmptyListCTA.test.tsx.snap
  20. 0
      public/app/core/components/PageHeader/PageHeader.test.tsx
  21. 0
      public/app/core/components/Permissions/AddPermissions.test.tsx
  22. 0
      public/app/core/components/Picker/PickerOption.test.tsx
  23. 0
      public/app/core/components/Picker/TeamPicker.test.tsx
  24. 0
      public/app/core/components/Picker/UserPicker.test.tsx
  25. 0
      public/app/core/components/Picker/__snapshots__/PickerOption.test.tsx.snap
  26. 0
      public/app/core/components/Picker/__snapshots__/TeamPicker.test.tsx.snap
  27. 0
      public/app/core/components/Picker/__snapshots__/UserPicker.test.tsx.snap
  28. 0
      public/app/core/components/Tooltip/Popover.test.tsx
  29. 0
      public/app/core/components/Tooltip/Tooltip.test.tsx
  30. 0
      public/app/core/components/Tooltip/__snapshots__/Popover.test.tsx.snap
  31. 0
      public/app/core/components/Tooltip/__snapshots__/Tooltip.test.tsx.snap
  32. 0
      public/app/core/specs/ColorPalette.test.tsx
  33. 0
      public/app/core/specs/PasswordStrength.test.tsx
  34. 0
      public/app/core/specs/__snapshots__/ColorPalette.test.tsx.snap
  35. 0
      public/app/core/specs/backend_srv.test.ts
  36. 0
      public/app/core/specs/datemath.test.ts
  37. 0
      public/app/core/specs/emitter.test.ts
  38. 0
      public/app/core/specs/file_export.test.ts
  39. 0
      public/app/core/specs/flatten.test.ts
  40. 0
      public/app/core/specs/kbn.test.ts
  41. 0
      public/app/core/specs/location_util.test.ts
  42. 0
      public/app/core/specs/manage_dashboards.test.ts
  43. 0
      public/app/core/specs/org_switcher.test.ts
  44. 0
      public/app/core/specs/rangeutil.test.ts
  45. 0
      public/app/core/specs/search.test.ts
  46. 0
      public/app/core/specs/search_results.test.ts
  47. 0
      public/app/core/specs/search_srv.test.ts
  48. 0
      public/app/core/specs/store.test.ts
  49. 0
      public/app/core/specs/table_model.test.ts
  50. 0
      public/app/core/specs/ticks.test.ts
  51. 0
      public/app/core/specs/time_series.test.ts
  52. 0
      public/app/core/specs/value_select_dropdown.test.ts
  53. 0
      public/app/features/alerting/specs/threshold_mapper.test.ts
  54. 0
      public/app/features/annotations/specs/annotations_srv.test.ts
  55. 0
      public/app/features/annotations/specs/annotations_srv_specs.test.ts
  56. 0
      public/app/features/dashboard/specs/AddPanelPanel.test.tsx
  57. 0
      public/app/features/dashboard/specs/DashboardRow.test.tsx
  58. 0
      public/app/features/dashboard/specs/change_tracker.test.ts
  59. 0
      public/app/features/dashboard/specs/dashboard_import_ctrl.test.ts
  60. 0
      public/app/features/dashboard/specs/dashboard_migration.test.ts
  61. 0
      public/app/features/dashboard/specs/dashboard_model.test.ts
  62. 0
      public/app/features/dashboard/specs/exporter.test.ts
  63. 0
      public/app/features/dashboard/specs/history_ctrl.test.ts
  64. 0
      public/app/features/dashboard/specs/history_srv.test.ts
  65. 0
      public/app/features/dashboard/specs/repeat.test.ts
  66. 0
      public/app/features/dashboard/specs/save_as_modal.test.ts
  67. 0
      public/app/features/dashboard/specs/save_modal.test.ts
  68. 0
      public/app/features/dashboard/specs/save_provisioned_modal.test.ts
  69. 0
      public/app/features/dashboard/specs/time_srv.test.ts
  70. 0
      public/app/features/dashboard/specs/viewstate_srv.test.ts
  71. 0
      public/app/features/panel/specs/metrics_panel_ctrl.test.ts
  72. 0
      public/app/features/panellinks/specs/link_srv.test.ts
  73. 0
      public/app/features/playlist/specs/playlist_edit_ctrl.test.ts
  74. 0
      public/app/features/plugins/specs/datasource_srv.test.ts
  75. 0
      public/app/features/templating/specs/adhoc_variable.test.ts
  76. 0
      public/app/features/templating/specs/editor_ctrl.test.ts
  77. 0
      public/app/features/templating/specs/query_variable.test.ts
  78. 0
      public/app/features/templating/specs/template_srv.test.ts
  79. 0
      public/app/features/templating/specs/variable.test.ts
  80. 0
      public/app/features/templating/specs/variable_srv.test.ts
  81. 0
      public/app/features/templating/specs/variable_srv_init.test.ts
  82. 0
      public/app/plugins/datasource/cloudwatch/specs/datasource.test.ts
  83. 0
      public/app/plugins/datasource/elasticsearch/specs/datasource.test.ts
  84. 0
      public/app/plugins/datasource/elasticsearch/specs/elastic_response.test.ts
  85. 0
      public/app/plugins/datasource/elasticsearch/specs/index_pattern.test.ts
  86. 0
      public/app/plugins/datasource/elasticsearch/specs/query_builder.test.ts
  87. 0
      public/app/plugins/datasource/elasticsearch/specs/query_def.test.ts
  88. 0
      public/app/plugins/datasource/graphite/specs/datasource.test.ts
  89. 0
      public/app/plugins/datasource/graphite/specs/gfunc.test.ts
  90. 0
      public/app/plugins/datasource/graphite/specs/graphite_query.test.ts
  91. 0
      public/app/plugins/datasource/graphite/specs/lexer.test.ts
  92. 0
      public/app/plugins/datasource/graphite/specs/parser.test.ts
  93. 0
      public/app/plugins/datasource/graphite/specs/query_ctrl.test.ts
  94. 0
      public/app/plugins/datasource/influxdb/specs/influx_query.test.ts
  95. 0
      public/app/plugins/datasource/influxdb/specs/influx_series.test.ts
  96. 0
      public/app/plugins/datasource/influxdb/specs/query_builder.test.ts
  97. 0
      public/app/plugins/datasource/influxdb/specs/query_ctrl.test.ts
  98. 0
      public/app/plugins/datasource/influxdb/specs/query_part.test.ts
  99. 0
      public/app/plugins/datasource/influxdb/specs/response_parser.test.ts
  100. 0
      public/app/plugins/datasource/logging/datasource.test.ts
  101. Some files were not shown because too many files have changed in this diff Show More

@ -2,12 +2,12 @@ Follow the setup guide in README.md
### Rebuild frontend assets on source change
```
grunt && grunt watch
yarn watch
```
### Rerun tests on source change
```
grunt karma:dev
yarn jest
```
### Run tests for backend assets before commit
@ -17,6 +17,6 @@ test -z "$(gofmt -s -l . | grep -v -E 'vendor/(github.com|golang.org|gopkg.in)'
### Run tests for frontend assets before commit
```
npm test
yarn test
go test -v ./pkg/...
```

@ -43,7 +43,7 @@ To build the assets, rebuild on file change, and serve them by Grafana's webserv
```bash
npm install -g yarn
yarn install --pure-lockfile
yarn run watch
yarn watch
```
Build the assets, rebuild on file change with Hot Module Replacement (HMR), and serve them by webpack-dev-server (http://localhost:3333):
@ -56,12 +56,7 @@ Note: HMR for Angular is not supported. If you edit files in the Angular part of
Run tests
```bash
yarn run jest
```
Run karma tests
```bash
yarn run karma
yarn jest
```
### Recompile backend on source change
@ -98,17 +93,13 @@ In your custom.ini uncomment (remove the leading `;`) sign. And set `app_mode =
#### Frontend
Execute all frontend tests
```bash
yarn run test
yarn test
```
Writing & watching frontend tests (we have two test runners)
Writing & watching frontend tests
- jest for all new tests that do not require browser context (React+more)
- Start watcher: `yarn run jest`
- Jest will run all test files that end with the name ".jest.ts"
- karma + mocha is used for testing angularjs components. We do want to migrate these test to jest over time (if possible).
- Start watcher: `yarn run karma`
- Karma+Mocha runs all files that end with the name "_specs.ts".
- Start watcher: `yarn jest`
- Jest will run all test files that end with the name ".test.ts"
#### Backend
```bash

@ -57,7 +57,7 @@ For this you need nodejs (v.6+).
```bash
npm install -g yarn
yarn install --pure-lockfile
npm run watch
yarn watch
```
## Running Grafana Locally
@ -83,21 +83,18 @@ go get github.com/Unknwon/bra
bra run
```
You'll also need to run `npm run watch` to watch for changes to the front-end (typescript, html, sass)
You'll also need to run `yarn watch` to watch for changes to the front-end (typescript, html, sass)
### Running tests
- You can run backend Golang tests using "go test ./pkg/...".
- Execute all frontend tests with "npm run test"
- You can run backend Golang tests using `go test ./pkg/...`.
- Execute all frontend tests with `yarn test`
Writing & watching frontend tests (we have two test runners)
Writing & watching frontend tests
- Start watcher: `yarn jest`
- Jest will run all test files that end with the name ".test.ts"
- jest for all new tests that do not require browser context (React+more)
- Start watcher: `npm run jest`
- Jest will run all test files that end with the name ".jest.ts"
- karma + mocha is used for testing angularjs components. We do want to migrate these test to jest over time (if possible).
- Start watcher: `npm run karma`
- Karma+Mocha runs all files that end with the name "_specs.ts".
## Creating optimized release packages

@ -13,7 +13,7 @@ module.exports = {
"roots": [
"<rootDir>/public"
],
"testRegex": "(\\.|/)(jest)\\.(jsx?|tsx?)$",
"testRegex": "(\\.|/)(test)\\.(jsx?|tsx?)$",
"moduleFileExtensions": [
"ts",
"tsx",

@ -1,40 +0,0 @@
var webpack = require('webpack');
var path = require('path');
var webpackTestConfig = require('./scripts/webpack/webpack.test.js');
module.exports = function(config) {
'use strict';
config.set({
frameworks: ['mocha', 'expect', 'sinon'],
// list of files / patterns to load in the browser
files: [
{ pattern: 'public/test/index.ts', watched: false }
],
preprocessors: {
'public/test/index.ts': ['webpack', 'sourcemap'],
},
webpack: webpackTestConfig,
webpackMiddleware: {
stats: 'minimal',
},
// list of files to exclude
exclude: [],
reporters: ['dots'],
port: 9876,
colors: true,
logLevel: config.LOG_INFO,
autoWatch: true,
browsers: ['PhantomJS'],
captureTimeout: 20000,
singleRun: true,
// autoWatchBatchDelay: 1000,
// browserNoActivityTimeout: 60000,
});
};

@ -46,7 +46,6 @@
"grunt-contrib-copy": "~1.0.0",
"grunt-contrib-cssmin": "~1.0.2",
"grunt-exec": "^1.0.1",
"grunt-karma": "~2.0.0",
"grunt-notify": "^0.4.5",
"grunt-postcss": "^0.8.0",
"grunt-sass": "^2.0.0",
@ -58,14 +57,6 @@
"html-webpack-plugin": "^3.2.0",
"husky": "^0.14.3",
"jest": "^22.0.4",
"karma": "1.7.0",
"karma-chrome-launcher": "~2.2.0",
"karma-expect": "~1.1.3",
"karma-mocha": "~1.3.0",
"karma-phantomjs-launcher": "1.0.4",
"karma-sinon": "^1.0.5",
"karma-sourcemap-loader": "^0.3.7",
"karma-webpack": "^3.0.0",
"lint-staged": "^6.0.0",
"load-grunt-tasks": "3.5.2",
"mini-css-extract-plugin": "^0.4.0",
@ -112,7 +103,6 @@
"test": "grunt test",
"test:coverage": "grunt test --coverage=true",
"lint": "tslint -c tslint.json --project tsconfig.json --type-check",
"karma": "grunt karma:dev",
"jest": "jest --notify --watch",
"api-tests": "jest --notify --watch --config=tests/api/jest.js",
"precommit": "lint-staged && grunt precommit"

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save