Add configuration to use built-in test explorer in VS Code (#6505)

* Add configuration files to make tests runnable in VS Code

* Add default configs/fix tests when run from VS Code

* Fix typo

* Add release notes
This commit is contained in:
Julian Dominguez-Schatz
2025-12-29 17:40:20 -05:00
committed by GitHub
parent cc60d8e716
commit 65da89efeb
10 changed files with 65 additions and 5 deletions

3
.gitignore vendored
View File

@@ -50,7 +50,8 @@ bundle.mobile.js.map
!.yarn/versions
# VSCode
.vscode
.vscode/*
!.vscode/settings.default.json
# IntelliJ IDEA
.idea

View File

@@ -4,8 +4,8 @@
"jsPlugins": ["./packages/eslint-plugin-actual/lib/index.js"],
"env": {
"browser": true,
"jest": true,
"node": true
"node": true,
"vitest": true
},
"globals": {
"vi": "readonly",

7
.vscode/settings.default.json vendored Normal file
View File

@@ -0,0 +1,7 @@
{
"typescript.tsdk": "node_modules/typescript/lib",
"editor.defaultFormatter": "oxc.oxc-vscode",
"vitest.nodeEnv": {
"NODE_OPTIONS": "--experimental-vm-modules --import ./packages/sync-server/register-loader.mjs --trace-warnings"
}
}

View File

@@ -12,7 +12,7 @@
"build:node": "tsc --p tsconfig.dist.json",
"proto:generate": "./bin/generate-proto",
"build": "rm -rf dist && yarn run build:node",
"test": "vitest --run --globals"
"test": "vitest --run"
},
"dependencies": {
"google-protobuf": "^3.21.4",

View File

@@ -0,0 +1,11 @@
import { defineConfig } from 'vitest/config';
export default defineConfig({
test: {
globals: true,
include: ['src/**/*.test.(js|ts)'],
environment: 'node',
maxWorkers: 1,
isolate: false,
},
});

View File

@@ -0,0 +1,11 @@
import { defineConfig } from 'vitest/config';
export default defineConfig({
test: {
globals: true,
include: ['**/*.test.(js|ts)', '**/__tests__/*'],
environment: 'node',
maxWorkers: 1,
isolate: false,
},
});

View File

@@ -30,7 +30,7 @@ export default defineConfig({
alias: [
{
find: /^@actual-app\/crdt(\/.*)?$/,
replacement: path.resolve('../crdt/src$1'),
replacement: path.resolve(path.join(__dirname, '../crdt/src$1')),
},
],
extensions: resolveExtensions,

View File

@@ -18,6 +18,10 @@ const createUser = (userId, userName, role, owner = 0, enabled = 1) => {
);
};
const deleteUser = (userId: string) => {
getAccountDb().mutate('DELETE FROM users WHERE id = ?', [userId]);
};
describe('/user-get-key', () => {
it('returns 401 if the user is not authenticated', async () => {
const res = await request(app).post('/user-get-key');
@@ -536,6 +540,8 @@ describe('/list-user-files', () => {
it('returns a list of user files for an authenticated user', async () => {
createUser('fileListAdminId', 'admin', ADMIN_ROLE, 1);
onTestFinished(() => deleteUser('fileListAdminId'));
const fileId1 = crypto.randomBytes(16).toString('hex');
const fileId2 = crypto.randomBytes(16).toString('hex');
const fileName1 = 'file1.txt';

View File

@@ -0,0 +1,6 @@
---
category: Maintenance
authors: [jfdoming]
---
Add configuration to use built-in test explorer in VS Code

18
vitest.config.ts Normal file
View File

@@ -0,0 +1,18 @@
import { defineConfig } from 'vitest/config';
export default defineConfig({
test: {
projects: [
'packages/*/vitest.config.{ts,mts}',
'packages/component-library/vitest.web.config.ts',
{
extends: 'packages/loot-core/vitest.web.config.ts',
test: { name: 'loot-core-web', dir: 'packages/loot-core' },
},
],
onConsoleLog: (log, type) => {
// print only console.error
return type === 'stderr';
},
},
});