diff --git a/.eslintrc.js b/.eslintrc.js index 25996fee7..6d9ac42f0 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -5,7 +5,7 @@ module.exports = { mocha: true, jest: true, jasmine: true, - node: true + node: true, }, extends: 'eslint:recommended', globals: { @@ -20,9 +20,11 @@ module.exports = { }, rules: { 'no-unused-vars': ['error', { ignoreRestSiblings: true }], - indent: ['error', 2, {'SwitchCase': 1}], + indent: ['error', 2, { SwitchCase: 1 }], 'linebreak-style': ['error', 'unix'], quotes: ['error', 'single'], semi: ['error', 'always'], + 'no-only-tests/no-only-tests': 'error', }, + plugins: ['no-only-tests'], }; diff --git a/package-lock.json b/package-lock.json index 97138ca0f..992878088 100644 --- a/package-lock.json +++ b/package-lock.json @@ -32,6 +32,7 @@ "cz-conventional-changelog": "^3.3.0", "cz-git": "^1.7.1", "eslint": "^8.49.0", + "eslint-plugin-no-only-tests": "^3.1.0", "husky": "^8.0.3", "jest": "^29.7.0", "jest-coverage-badges-ng": "^1.0.1", @@ -7633,6 +7634,15 @@ "url": "https://opencollective.com/eslint" } }, + "node_modules/eslint-plugin-no-only-tests": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-no-only-tests/-/eslint-plugin-no-only-tests-3.1.0.tgz", + "integrity": "sha512-Lf4YW/bL6Un1R6A76pRZyE1dl1vr31G/ev8UzIc/geCgFWyrKil8hVjYqWVKGB/UIGmb6Slzs9T0wNezdSVegw==", + "dev": true, + "engines": { + "node": ">=5.0.0" + } + }, "node_modules/eslint-scope": { "version": "5.1.1", "dev": true, @@ -26047,6 +26057,12 @@ } } }, + "eslint-plugin-no-only-tests": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-no-only-tests/-/eslint-plugin-no-only-tests-3.1.0.tgz", + "integrity": "sha512-Lf4YW/bL6Un1R6A76pRZyE1dl1vr31G/ev8UzIc/geCgFWyrKil8hVjYqWVKGB/UIGmb6Slzs9T0wNezdSVegw==", + "dev": true + }, "eslint-scope": { "version": "5.1.1", "dev": true, diff --git a/package.json b/package.json index fc8963ff2..66288767c 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ "test": "npm test --workspaces", "test:cov": "npm run test:cov --workspaces && npm run cov:compile && npm run cov:report", "test:cov:unit": "npm run test:cov:unit --workspaces && npm run cov:compile:unit && npm run cov:report:unit", - "cov:compile": "nyc merge packages/cache-memory/.nyc_output .nyc_output/cache-memory.json && nyc merge packages/featureserver/.nyc_output .nyc_output/featureserver.json && nyc merge packages/core/.nyc_output .nyc_output/core.json && nyc merge packages/logger/.nyc_output .nyc_output/logger.json && cp packages/output-geoservices/coverage/coverage-final.json .nyc_output/output-geoservices.json && nyc merge packages/winnow/.nyc_output .nyc_output/winnow.json", + "cov:compile": "nyc merge packages/cache-memory/.nyc_output .nyc_output/cache-memory.json && nyc merge packages/featureserver/.nyc_output .nyc_output/featureserver.json && nyc merge packages/core/.nyc_output .nyc_output/core.json && nyc merge packages/logger/.nyc_output .nyc_output/logger.json && cp packages/output-geoservices/coverage/coverage-final.json .nyc_output/output-geoservices.json && nyc merge packages/winnow/.nyc_output .nyc_output/winnow.json", "cov:compile:unit": "nyc merge packages/cache-memory/.nyc_output .nyc_output_unit/cache-memory.json && nyc merge packages/featureserver/.nyc_output_unit .nyc_output_unit/featureserver.json && nyc merge packages/core/.nyc_output .nyc_output_unit/core.json && nyc merge packages/logger/.nyc_output .nyc_output_unit/logger.json && cp packages/output-geoservices/coverage/coverage-final.json .nyc_output_unit/output-geoservices.json && nyc merge packages/winnow/.nyc_output_unit .nyc_output_unit/winnow.json", "cov:report": "nyc report --reporter=html", "cov:report:unit": "nyc report --temp-dir=.nyc_output_unit --report-dir=coverage_unit --reporter=html", @@ -58,6 +58,7 @@ "cz-conventional-changelog": "^3.3.0", "cz-git": "^1.7.1", "eslint": "^8.49.0", + "eslint-plugin-no-only-tests": "^3.1.0", "husky": "^8.0.3", "jest": "^29.7.0", "jest-coverage-badges-ng": "^1.0.1", diff --git a/test/geoservice-client-requests-no-geom.spec.js b/test/geoservice-client-requests-no-geom.spec.js index 8ed56516e..ba72d26c0 100644 --- a/test/geoservice-client-requests-no-geom.spec.js +++ b/test/geoservice-client-requests-no-geom.spec.js @@ -1,6 +1,8 @@ const Koop = require('@koopjs/koop-core'); const provider = require('@koopjs/provider-file-geojson'); const request = require('supertest'); +const VERSION = process.env.VERSION || 11.1; +const FULL_VERSION = process.env.VERSION || '11.1.0'; const mockLogger = { debug: () => {}, info: () => {}, @@ -32,8 +34,8 @@ describe('Typical Geoservice Client request sequence: Dataset with no geometry', ); const serverInfo = response.body; expect(serverInfo).toEqual({ - currentVersion: 11.1, - fullVersion: '11.1.0', + currentVersion: VERSION, + fullVersion: FULL_VERSION, maxRecordCount: 2000, serviceDescription: 'GeoJSON from no-geom-w-objectid.geojson', @@ -96,8 +98,8 @@ describe('Typical Geoservice Client request sequence: Dataset with no geometry', layers: [], tables: [ { - currentVersion: 11.1, - fullVersion: '11.1.0', + currentVersion: VERSION, + fullVersion: FULL_VERSION, id: 0, name: 'no-geom-w-objectid.geojson', type: 'Table', @@ -210,8 +212,8 @@ describe('Typical Geoservice Client request sequence: Dataset with no geometry', expect(response.status).toBe(200); const info = response.body; expect(info).toEqual({ - currentVersion: 11.1, - fullVersion: '11.1.0', + currentVersion: VERSION, + fullVersion: FULL_VERSION, id: 0, name: 'no-geom-w-objectid.geojson', type: 'Table', @@ -674,4 +676,6 @@ describe('Typical Geoservice Client request sequence: Dataset with no geometry', }); }); }); + console.log(process.env.VERSION); }); + diff --git a/test/helpers/client-response-fixtures.js b/test/helpers/client-response-fixtures.js index b6861520a..d0499bb82 100644 --- a/test/helpers/client-response-fixtures.js +++ b/test/helpers/client-response-fixtures.js @@ -1,7 +1,10 @@ +const VERSION = process.env.VERSION || 11.1; +const FULL_VERSION = process.env.VERSION || '11.1.0'; + function getServerInfo(id) { return { - currentVersion: 11.1, - fullVersion: '11.1.0', + currentVersion: VERSION, + fullVersion: FULL_VERSION, maxRecordCount: 2000, serviceDescription: `GeoJSON from ${id}.geojson`, @@ -54,8 +57,8 @@ function getLayersInfo(filename, idField) { return { layers: [ { - currentVersion: 11.1, - fullVersion: '11.1.0', + currentVersion: VERSION, + fullVersion: FULL_VERSION, id: 0, name: `${filename}.geojson`, type: 'Feature Layer',