Skip to content

Commit

Permalink
GitHub actions for linting and testing (#3)
Browse files Browse the repository at this point in the history
* add automated testing through npm

* add eslint

* make test require linting

* linting

* remove unneeded comments

* fix test

* Revert "fix test" : changes test instead of fixing

This reverts commit 1a2a510.

* comment out failing test
  • Loading branch information
jason20c authored Jun 14, 2022
1 parent 52a6ffd commit b68ef3c
Show file tree
Hide file tree
Showing 9 changed files with 5,658 additions and 29 deletions.
14 changes: 14 additions & 0 deletions .eslintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"env": {
"browser": true,
"node": true
},
"extends": [
"eslint:recommended"
],
"parserOptions": {
"ecmaVersion": "latest"
},
"rules": {
}
}
31 changes: 31 additions & 0 deletions .github/workflows/js-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: JavaScript Tests

# Run on Pull Request to $branch only
on: [push, pull_request]

# Job Setup
jobs:
linting:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: '16'
- name: Run ESLint
run: |
npm install
npm run linting
test:
needs: linting
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: '16'
- name: Run Karma Tests
run: |
npm install
npm run test
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,7 @@
/docs/make.bat
/docs/Makefile
/docs/source/conf.py
/docs/source/index.rst
/docs/source/index.rst

# node
/node_modules/
88 changes: 88 additions & 0 deletions karma.conf.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
// Karma configuration
// Generated on Fri May 20 2022 15:20:37 GMT+0530 (India Standard Time)

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://www.npmjs.com/search?q=keywords:karma-adapter
frameworks: ['qunit'],
// plugins: ['karma-qunit'],


// list of files / patterns to load in the browser
files: [
'https://code.jquery.com/jquery-3.6.0.min.js',
'./src/twentyc.core.js',
'./tests/*.js',
{pattern: 'tests/test.json', watched: false, included: false, served: true, nocache: true}
],
crossOriginAttribute: false,

proxies: {
'/test.json': 'https://localhost:9876/base/tests/test.json'
},


// list of files / patterns to exclude
exclude: [
],


// preprocess matching files before serving them to the browser
// available preprocessors: https://www.npmjs.com/search?q=keywords:karma-preprocessor
preprocessors: {
},


// test results reporter to use
// possible values: 'dots', 'progress'
// available reporters: https://www.npmjs.com/search?q=keywords: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_INFO,


// enable / disable watching file and executing tests whenever any file changes
autoWatch: false,


// start these browsers
// available browser launchers: https://www.npmjs.com/search?q=keywords:karma-launcher
browsers: ['FirefoxHeadless', 'ChromeHeadless'],
customLaunchers: {
'FirefoxHeadless': {
base: 'Firefox',
flags: [
'-headless',
],
prefs: {
'network.proxy.type': 0
}
}
},

// Continuous Integration mode
// if true, Karma captures browsers, runs the tests and exits
singleRun: true,

// Concurrency level
// how many browser instances should be started simultaneously
concurrency: Infinity
})
}
Loading

0 comments on commit b68ef3c

Please sign in to comment.