Skip to content
This repository was archived by the owner on Feb 6, 2026. It is now read-only.

Commit 5078f28

Browse files
infra: add CI pipeline for running tests; update to alfy@0.11.1 (#11)
1 parent 647cce4 commit 5078f28

File tree

6 files changed

+189
-195
lines changed

6 files changed

+189
-195
lines changed

.github/workflows/test.yml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
name: Unit tests
2+
3+
on:
4+
pull_request:
5+
branches:
6+
- master
7+
8+
jobs:
9+
test:
10+
name: Testing
11+
runs-on: ubuntu-latest
12+
steps:
13+
- uses: actions/checkout@v2
14+
15+
- name: Setup node.js v14.x
16+
uses: actions/setup-node@v2
17+
with:
18+
node-version: '14'
19+
20+
- name: Install deps and test
21+
run: |
22+
echo "Node version:"
23+
node --version
24+
echo "npm version:"
25+
npm --version
26+
echo "yarn version:"
27+
yarn --version
28+
yarn --ignore-scripts
29+
yarn test:cov

.gitignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
.vscode
22
.idea
33
.DS_Store
4-
node_modules
4+
node_modules
5+
coverage
6+
yarn-error.log

info.plist

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,7 @@
191191
</array>
192192
</dict>
193193
<key>createdby</key>
194-
<string>Eugene Chulkov(@yourhem)</string>
194+
<string>Eugene Chulkov(@dev99problems)</string>
195195
<key>description</key>
196196
<string>Google Translator for en-ru, ru-en, save to favorites</string>
197197
<key>disabled</key>
@@ -536,6 +536,8 @@
536536
<true/>
537537
<key>clipboardtext</key>
538538
<string>{var:translations}</string>
539+
<key>ignoredynamicplaceholders</key>
540+
<false/>
539541
<key>transient</key>
540542
<false/>
541543
</dict>
@@ -633,6 +635,8 @@
633635
<false/>
634636
<key>clipboardtext</key>
635637
<string>{var:word}, {var:translations}</string>
638+
<key>ignoredynamicplaceholders</key>
639+
<false/>
636640
<key>transient</key>
637641
<false/>
638642
</dict>
@@ -741,6 +745,6 @@
741745
</dict>
742746
</dict>
743747
<key>webaddress</key>
744-
<string>https://github.com/eugenechu/alfred-translayta</string>
748+
<string>https://github.com/dev99problems/alfred-translayta</string>
745749
</dict>
746750
</plist>

jest.config.js

Lines changed: 4 additions & 184 deletions
Original file line numberDiff line numberDiff line change
@@ -4,191 +4,11 @@
44
*/
55

66
module.exports = {
7-
// All imported modules in your tests should be mocked automatically
8-
// automock: false,
9-
10-
// Stop running tests after `n` failures
11-
// bail: 0,
12-
13-
// The directory where Jest should store its cached dependency information
14-
// cacheDirectory: "/private/var/folders/x8/rv_w223d3ps6zlvl92pxn0dr0000gn/T/jest_dx",
15-
16-
// Automatically clear mock calls and instances between every test
177
clearMocks: true,
8+
coveragePathIgnorePatterns: ['/node_modules/'],
189

19-
// Indicates whether the coverage information should be collected while executing the test
20-
// collectCoverage: false,
21-
22-
// An array of glob patterns indicating a set of files for which coverage information should be collected
23-
// collectCoverageFrom: undefined,
24-
25-
// The directory where Jest should output its coverage files
26-
coverageDirectory: 'coverage',
27-
28-
// An array of regexp pattern strings used to skip coverage collection
29-
// coveragePathIgnorePatterns: [
30-
// "/node_modules/"
31-
// ],
32-
33-
// Indicates which provider should be used to instrument code for coverage
34-
coverageProvider: 'v8',
35-
36-
// A list of reporter names that Jest uses when writing coverage reports
37-
// coverageReporters: [
38-
// "json",
39-
// "text",
40-
// "lcov",
41-
// "clover"
42-
// ],
43-
44-
// An object that configures minimum threshold enforcement for coverage results
45-
// coverageThreshold: undefined,
46-
47-
// A path to a custom dependency extractor
48-
// dependencyExtractor: undefined,
49-
50-
// Make calling deprecated APIs throw helpful error messages
51-
// errorOnDeprecated: false,
52-
53-
// Force coverage collection from ignored files using an array of glob patterns
54-
// forceCoverageMatch: [],
55-
56-
// A path to a module which exports an async function that is triggered once before all test suites
57-
// globalSetup: undefined,
58-
59-
// A path to a module which exports an async function that is triggered once after all test suites
60-
// globalTeardown: undefined,
61-
62-
// A set of global variables that need to be available in all test environments
63-
// globals: {},
64-
65-
// The maximum amount of workers used to run your tests. Can be specified as % or a number. E.g. maxWorkers: 10% will use 10% of your CPU amount + 1 as the maximum worker number. maxWorkers: 2 will use a maximum of 2 workers.
66-
// maxWorkers: "50%",
67-
68-
// An array of directory names to be searched recursively up from the requiring module's location
69-
// moduleDirectories: [
70-
// "node_modules"
71-
// ],
72-
73-
// An array of file extensions your modules use
74-
// moduleFileExtensions: [
75-
// "js",
76-
// "json",
77-
// "jsx",
78-
// "ts",
79-
// "tsx",
80-
// "node"
81-
// ],
82-
83-
// A map from regular expressions to module names or to arrays of module names that allow to stub out resources with a single module
84-
// moduleNameMapper: {},
85-
86-
// An array of regexp pattern strings, matched against all module paths before considered 'visible' to the module loader
87-
// modulePathIgnorePatterns: [],
88-
89-
// Activates notifications for test results
90-
// notify: false,
91-
92-
// An enum that specifies notification mode. Requires { notify: true }
93-
// notifyMode: "failure-change",
94-
95-
// A preset that is used as a base for Jest's configuration
96-
// preset: undefined,
97-
98-
// Run tests from one or more projects
99-
// projects: undefined,
100-
101-
// Use this configuration option to add custom reporters to Jest
102-
// reporters: undefined,
103-
104-
// Automatically reset mock state between every test
105-
// resetMocks: false,
106-
107-
// Reset the module registry before running each individual test
108-
// resetModules: false,
109-
110-
// A path to a custom resolver
111-
// resolver: undefined,
112-
113-
// Automatically restore mock state between every test
114-
// restoreMocks: false,
115-
116-
// The root directory that Jest should scan for tests and modules within
117-
// rootDir: undefined,
118-
119-
// A list of paths to directories that Jest should use to search for files in
120-
// roots: [
121-
// "<rootDir>"
122-
// ],
123-
124-
// Allows you to use a custom runner instead of Jest's default test runner
125-
// runner: "jest-runner",
126-
127-
// The paths to modules that run some code to configure or set up the testing environment before each test
128-
// setupFiles: [],
129-
130-
// A list of paths to modules that run some code to configure or set up the testing framework before each test
131-
// setupFilesAfterEnv: [],
132-
133-
// The number of seconds after which a test is considered as slow and reported as such in the results.
134-
// slowTestThreshold: 5,
135-
136-
// A list of paths to snapshot serializer modules Jest should use for snapshot testing
137-
// snapshotSerializers: [],
138-
139-
// The test environment that will be used for testing
10+
maxWorkers: 2,
11+
moduleDirectories: ['node_modules'],
12+
moduleFileExtensions: ['js', 'json'],
14013
testEnvironment: 'node'
141-
142-
// Options that will be passed to the testEnvironment
143-
// testEnvironmentOptions: {},
144-
145-
// Adds a location field to test results
146-
// testLocationInResults: false,
147-
148-
// The glob patterns Jest uses to detect test files
149-
// testMatch: [
150-
// "**/__tests__/**/*.[jt]s?(x)",
151-
// "**/?(*.)+(spec|test).[tj]s?(x)"
152-
// ],
153-
154-
// An array of regexp pattern strings that are matched against all test paths, matched tests are skipped
155-
// testPathIgnorePatterns: [
156-
// "/node_modules/"
157-
// ],
158-
159-
// The regexp pattern or array of patterns that Jest uses to detect test files
160-
// testRegex: [],
161-
162-
// This option allows the use of a custom results processor
163-
// testResultsProcessor: undefined,
164-
165-
// This option allows use of a custom test runner
166-
// testRunner: "jasmine2",
167-
168-
// This option sets the URL for the jsdom environment. It is reflected in properties such as location.href
169-
// testURL: "http://localhost",
170-
171-
// Setting this value to "fake" allows the use of fake timers for functions such as "setTimeout"
172-
// timers: "real",
173-
174-
// A map from regular expressions to paths to transformers
175-
// transform: undefined,
176-
177-
// An array of regexp pattern strings that are matched against all source file paths, matched files will skip transformation
178-
// transformIgnorePatterns: [
179-
// "/node_modules/",
180-
// "\\.pnp\\.[^\\/]+$"
181-
// ],
182-
183-
// An array of regexp pattern strings that are matched against all modules before the module loader will automatically return a mock for them
184-
// unmockedModulePathPatterns: undefined,
185-
186-
// Indicates whether each individual test should be reported during the run
187-
// verbose: undefined,
188-
189-
// An array of regexp patterns that are matched against all source file paths before re-running tests in watch mode
190-
// watchPathIgnorePatterns: [],
191-
192-
// Whether to use watchman for file crawling
193-
// watchman: true,
19414
}

package.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@
66
"scripts": {
77
"postinstall": "alfy-init",
88
"preuninstall": "alfy-cleanup",
9-
"test": "jest"
9+
"test": "node_modules/.bin/jest --config=jest.config.js",
10+
"test:cov": "yarn test --collectCoverage=true --collectCoverageFrom=src/**/*.js"
1011
},
1112
"repository": {
1213
"type": "git",
@@ -38,7 +39,7 @@
3839
"homepage": "https://github.com/eugenechu/alfred-translayta#readme",
3940
"dependencies": {
4041
"@vitalets/google-translate-api": "^5.0.0",
41-
"alfy": "^0.9.1",
42+
"alfy": "0.11.1",
4243
"lodash.get": "^4.4.2"
4344
},
4445
"devDependencies": {

0 commit comments

Comments
 (0)