Skip to content
Snippets Groups Projects
Unverified Commit 260c319a authored by Tom Robinson's avatar Tom Robinson
Browse files

Lint frontend tests, including checking for accidental fdescribe/fit

parent ea1964c6
No related branches found
No related tags found
No related merge requests found
{
"rules": {
"jasmine/no-focused-tests": 2,
"jasmine/no-suite-dupes": [2, "branch"]
},
"env": {
"jasmine": true,
"node": true
},
"plugins": [
"jasmine"
]
}
import { By, until } from "selenium-webdriver";
import { import {
waitForElement,
waitForElementText, waitForElementText,
waitForElementRemoved,
findElement, findElement,
waitForElementAndClick, waitForElementAndClick,
waitForElementAndSendKeys, waitForElementAndSendKeys,
waitForUrl,
screenshot, screenshot,
loginMetabase,
ensureLoggedIn, ensureLoggedIn,
describeE2E describeE2E
} from "../support/utils"; } from "../support/utils";
......
import { By, until } from "selenium-webdriver";
import { import {
waitForElement, waitForElement,
waitForElementText, waitForElementText,
waitForElementRemoved,
findElement, findElement,
waitForElementAndClick, waitForElementAndClick,
waitForElementAndSendKeys, waitForElementAndSendKeys,
......
import { By, until } from "selenium-webdriver"; import { By } from "selenium-webdriver";
import { import {
waitForElement,
waitForElementText,
waitForElementRemoved,
findElement,
waitForElementAndClick,
waitForElementAndSendKeys,
waitForUrl, waitForUrl,
screenshot, screenshot,
loginMetabase, loginMetabase,
......
import { By, until } from "selenium-webdriver";
import { import {
waitForElement,
waitForElementText,
waitForElementRemoved, waitForElementRemoved,
findElement,
waitForElementAndClick, waitForElementAndClick,
waitForElementAndSendKeys, waitForElementAndSendKeys,
waitForUrl,
screenshot, screenshot,
loginMetabase,
describeE2E, describeE2E,
ensureLoggedIn ensureLoggedIn
} from "../support/utils"; } from "../support/utils";
......
import { By, until } from "selenium-webdriver";
import { import {
waitForElement, waitForElement,
waitForElementText,
waitForElementRemoved, waitForElementRemoved,
findElement,
waitForElementAndClick, waitForElementAndClick,
waitForElementAndSendKeys, waitForElementAndSendKeys,
waitForUrl, waitForUrl,
screenshot, screenshot,
loginMetabase,
describeE2E, describeE2E,
ensureLoggedIn ensureLoggedIn
} from "../support/utils"; } from "../support/utils";
......
import path from "path"; import path from "path";
import { By, until } from "selenium-webdriver";
import { import {
waitForElement, waitForElement,
waitForElementText,
waitForElementRemoved,
findElement, findElement,
waitForElementAndClick, waitForElementAndClick,
waitForElementAndSendKeys, waitForElementAndSendKeys,
waitForUrl, waitForUrl,
screenshot, screenshot,
loginMetabase,
describeE2E describeE2E
} from "../support/utils"; } from "../support/utils";
......
...@@ -22,7 +22,7 @@ export default function createSharedResource(resourceName, { ...@@ -22,7 +22,7 @@ export default function createSharedResource(resourceName, {
return Promise.all(exitPromises); return Promise.all(exitPromises);
}) })
async function kill(entry) { function kill(entry) {
if (entriesByKey.has(entry.key)) { if (entriesByKey.has(entry.key)) {
entriesByKey.delete(entry.key); entriesByKey.delete(entry.key);
entriesByResource.delete(entry.resource); entriesByResource.delete(entry.resource);
......
...@@ -7,8 +7,6 @@ import { Driver } from "webchauffeur"; ...@@ -7,8 +7,6 @@ import { Driver } from "webchauffeur";
const DEFAULT_TIMEOUT = 50000; const DEFAULT_TIMEOUT = 50000;
const delay = (timeout = 0) => new Promise((resolve) => setTimeout(resolve, timeout));
const log = (message) => { const log = (message) => {
console.log(message); console.log(message);
}; };
......
...@@ -36,9 +36,6 @@ module.exports = function(config) { ...@@ -36,9 +36,6 @@ module.exports = function(config) {
webpackMiddleware: { webpackMiddleware: {
stats: "errors-only" stats: "errors-only"
}, },
webpackMiddleware: {
stats: "errors-only",
},
coverageReporter: { coverageReporter: {
dir: '../coverage/', dir: '../coverage/',
subdir: function(browser) { subdir: function(browser) {
......
import _ from "underscore"; import _ from "underscore";
import { formatExpression, parseExpressionString, tokenAtPosition, tokensToExpression } from "metabase/lib/expressions"; import { formatExpression, parseExpressionString } from "metabase/lib/expressions";
const mockFields = [ const mockFields = [
{id: 1, display_name: "A"}, {id: 1, display_name: "A"},
...@@ -10,12 +10,12 @@ const mockFields = [ ...@@ -10,12 +10,12 @@ const mockFields = [
const mathOperators = new Set(['+', '-', '*', '/']); const mathOperators = new Set(['+', '-', '*', '/']);
const parsedMathOperators = { // const parsedMathOperators = {
"+": { value: '+', start: 2, end: 3, parsedValue: '+' }, // "+": { value: '+', start: 2, end: 3, parsedValue: '+' },
"-": { value: '-', start: 2, end: 3, parsedValue: '-' }, // "-": { value: '-', start: 2, end: 3, parsedValue: '-' },
"*": { value: '*', start: 2, end: 3, parsedValue: '*' }, // "*": { value: '*', start: 2, end: 3, parsedValue: '*' },
"/": { value: '/', start: 2, end: 3, parsedValue: '/' } // "/": { value: '/', start: 2, end: 3, parsedValue: '/' }
} // }
function stripStartEnd(list) { function stripStartEnd(list) {
return list.map(i => { return list.map(i => {
......
...@@ -78,6 +78,7 @@ ...@@ -78,6 +78,7 @@
"eslint": "^3.5.0", "eslint": "^3.5.0",
"eslint-loader": "^1.6.0", "eslint-loader": "^1.6.0",
"eslint-plugin-flowtype": "^2.22.0", "eslint-plugin-flowtype": "^2.22.0",
"eslint-plugin-jasmine": "^2.2.0",
"eslint-plugin-react": "^6.3.0", "eslint-plugin-react": "^6.3.0",
"exports-loader": "^0.6.3", "exports-loader": "^0.6.3",
"extract-text-webpack-plugin": "^1.0.1", "extract-text-webpack-plugin": "^1.0.1",
...@@ -123,7 +124,7 @@ ...@@ -123,7 +124,7 @@
}, },
"scripts": { "scripts": {
"dev": "yarn && concurrently --kill-others -p name -n 'backend,frontend' -c 'blue,green' 'lein ring server' 'yarn run build-hot'", "dev": "yarn && concurrently --kill-others -p name -n 'backend,frontend' -c 'blue,green' 'lein ring server' 'yarn run build-hot'",
"lint": "eslint --ext .js --ext .jsx --max-warnings 0 frontend/src", "lint": "eslint --ext .js --ext .jsx --max-warnings 0 frontend/src frontend/test",
"flow": "flow check", "flow": "flow check",
"test": "karma start frontend/test/karma.conf.js --single-run", "test": "karma start frontend/test/karma.conf.js --single-run",
"test-watch": "karma start frontend/test/karma.conf.js --auto-watch --reporters nyan", "test-watch": "karma start frontend/test/karma.conf.js --auto-watch --reporters nyan",
......
...@@ -2368,6 +2368,10 @@ eslint-plugin-flowtype: ...@@ -2368,6 +2368,10 @@ eslint-plugin-flowtype:
dependencies: dependencies:
lodash "^4.15.0" lodash "^4.15.0"
eslint-plugin-jasmine@^2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/eslint-plugin-jasmine/-/eslint-plugin-jasmine-2.2.0.tgz#7135879383c39a667c721d302b9f20f0389543de"
eslint-plugin-react@^6.3.0: eslint-plugin-react@^6.3.0:
version "6.4.1" version "6.4.1"
resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-6.4.1.tgz#7d1aade747db15892f71eee1fea4addf97bcfa2b" resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-6.4.1.tgz#7d1aade747db15892f71eee1fea4addf97bcfa2b"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment