Skip to content

Commit

Permalink
test(wip): initial addition of test suite
Browse files Browse the repository at this point in the history
  • Loading branch information
ainouzgali committed May 7, 2024
1 parent 445e9bb commit 1ab94a6
Show file tree
Hide file tree
Showing 5 changed files with 574 additions and 590 deletions.
286 changes: 286 additions & 0 deletions packages/cli-next/jest.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,286 @@
/* eslint-disable max-len */
/**
* For a detailed explanation regarding each configuration property, visit:
* https://jestjs.io/docs/configuration
*/

module.exports = {
/*
* All imported modules in your tests should be mocked automatically
* automock: false,
*/

/*
* Stop running tests after `n` failures
* bail: 0,
*/

/*
* The directory where Jest should store its cached dependency information
* cspell:disable-next-line
* cacheDirectory: "/private/var/folders/h5/6fkfv6mj2wv2j74sgphjsxr00000gn/T/jest_dx",
*/

// Automatically clear mock calls, instances, contexts and results before every test
clearMocks: true,

/*
* Indicates whether the coverage information should be collected while executing the test
* collectCoverage: false,
*/

/*
* An array of glob patterns indicating a set of files for which coverage information should be collected
* collectCoverageFrom: undefined,
*/

/*
* The directory where Jest should output its coverage files
* coverageDirectory: undefined,
*/

/*
* An array of regexp pattern strings used to skip coverage collection
* coveragePathIgnorePatterns: [
* "/node_modules/"
* ],
*/

// Indicates which provider should be used to instrument code for coverage
coverageProvider: 'v8',

/*
* A list of reporter names that Jest uses when writing coverage reports
* coverageReporters: [
* "json",
* "text",
* "lcov",
* "clover"
* ],
*/

/*
* An object that configures minimum threshold enforcement for coverage results
* coverageThreshold: undefined,
*/

/*
* A path to a custom dependency extractor
* dependencyExtractor: undefined,
*/

/*
* Make calling deprecated APIs throw helpful error messages
* errorOnDeprecated: false,
*/

/*
* The default configuration for fake timers
* fakeTimers: {
* "enableGlobally": false
* },
*/

/*
* Force coverage collection from ignored files using an array of glob patterns
* forceCoverageMatch: [],
*/

/*
* A path to a module which exports an async function that is triggered once before all test suites
* globalSetup: undefined,
*/

/*
* A path to a module which exports an async function that is triggered once after all test suites
* globalTeardown: undefined,
*/

/*
* A set of global variables that need to be available in all test environments
* globals: {},
*/

/*
* 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.
* maxWorkers: "50%",
*/

/*
* An array of directory names to be searched recursively up from the requiring module's location
* moduleDirectories: [
* "node_modules"
* ],
*/

/*
* An array of file extensions your modules use
* moduleFileExtensions: [
* "js",
* "mjs",
* "cjs",
* "jsx",
* "ts",
* "tsx",
* "json",
* "node"
* ],
*/

/*
* A map from regular expressions to module names or to arrays of module names that allow to stub out resources with a single module
* moduleNameMapper: {},
*/

/*
* An array of regexp pattern strings, matched against all module paths before considered 'visible' to the module loader
* modulePathIgnorePatterns: [],
*/

/*
* Activates notifications for test results
* notify: false,
*/

/*
* An enum that specifies notification mode. Requires { notify: true }
* notifyMode: "failure-change",
*/

// A preset that is used as a base for Jest's configuration
preset: 'ts-jest',

/*
* Run tests from one or more projects
* projects: undefined,
*/

/*
* Use this configuration option to add custom reporters to Jest
* reporters: undefined,
*/

/*
* Automatically reset mock state before every test
* resetMocks: false,
*/

/*
* Reset the module registry before running each individual test
* resetModules: false,
*/

/*
* A path to a custom resolver
* resolver: undefined,
*/

/*
* Automatically restore mock state and implementation before every test
* restoreMocks: false,
*/

/*
* The root directory that Jest should scan for tests and modules within
* rootDir: undefined,
*/

// A list of paths to directories that Jest should use to search for files in
roots: ['<rootDir>/src'],

/*
* Allows you to use a custom runner instead of Jest's default test runner
* runner: "jest-runner",
*/

/*
* The paths to modules that run some code to configure or set up the testing environment before each test
* setupFiles: [],
*/

/*
* A list of paths to modules that run some code to configure or set up the testing framework before each test
* setupFilesAfterEnv: [],
*/

/*
* The number of seconds after which a test is considered as slow and reported as such in the results.
* slowTestThreshold: 5,
*/

/*
* A list of paths to snapshot serializer modules Jest should use for snapshot testing
* snapshotSerializers: [],
*/

// The test environment that will be used for testing
testEnvironment: 'node',

/*
* Options that will be passed to the testEnvironment
* testEnvironmentOptions: {},
*/

/*
* Adds a location field to test results
* testLocationInResults: false,
*/

// The glob patterns Jest uses to detect test files
testMatch: ['**/__tests__/**/*.[jt]s?(x)', '**/?(*.)+(spec|test).[tj]s?(x)'],

/*
* An array of regexp pattern strings that are matched against all test paths, matched tests are skipped
* testPathIgnorePatterns: [
* "/node_modules/"
* ],
*/

/*
* The regexp pattern or array of patterns that Jest uses to detect test files
* testRegex: [],
*/

/*
* This option allows the use of a custom results processor
* testResultsProcessor: undefined,
*/

/*
* This option allows use of a custom test runner
* testRunner: "jest-circus/runner",
*/

/*
* A map from regular expressions to paths to transformers
* transform: undefined,
*/

/*
* An array of regexp pattern strings that are matched against all source file paths, matched files will skip transformation
* transformIgnorePatterns: [
* "/node_modules/",
* "\\.pnp\\.[^\\/]+$"
* ],
*/

/*
* An array of regexp pattern strings that are matched against all modules before the module loader will automatically return a mock for them
* unmockedModulePathPatterns: undefined,
*/

/*
* Indicates whether each individual test should be reported during the run
* verbose: undefined,
*/

/*
* An array of regexp patterns that are matched against all source file paths before re-running tests in watch mode
* watchPathIgnorePatterns: [],
*/

/*
* Whether to use watchman for file crawling
* watchman: true,
*/
};
7 changes: 7 additions & 0 deletions packages/cli-next/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,9 @@
"format": "prettier --write \"src/**/*.ts\"",
"precommit": "lint-staged",
"start": "pnpm start:dev",
"test": "jest",
"lint": "eslint src --ext .ts",
"lint:fix":"eslint src --ext .ts --fix",
"start:sync": "cross-env NODE_ENV=development TZ=UTC nodemon sync --backend-url=http://localhost:3000 --echo-url=http://localhost:4000/api --api-key=9185a6719c99faa9142b08c94e3b65ca",
"start:dev": "cross-env NODE_ENV=development NOVU_EMBED_PATH=http://127.0.0.1:4701/embed.umd.min.js NOVU_API_ADDRESS=http://127.0.0.1:3000 NOVU_CLIENT_LOGIN=http://127.0.0.1:4200/auth/login CLI_SEGMENT_WRITE_KEY=GdQ594CEBj4pU6RFldDOjKJwZjxZOsIj TZ=UTC nodemon echo",
"start:test": "cross-env NODE_ENV=test PORT=1336 TZ=UTC nodemon init",
Expand All @@ -29,11 +32,15 @@
"devDependencies": {
"@types/configstore": "^5.0.1",
"@types/inquirer": "^8.2.0",
"@jest/globals": "^29.7.0",
"@types/mocha": "10.0.2",
"eslint-config-adjunct": "^4.13.0",
"ncp": "^2.0.0",
"nodemon": "^3.0.1",
"rimraf": "^5.0.5",
"@types/jest": "^29.5.12",
"jest": "^29.7.0",
"ts-jest": "^29.1.2",
"ts-node": "~10.9.1",
"tsconfig-paths": "^4.2.0",
"typescript": "4.9.5"
Expand Down
7 changes: 7 additions & 0 deletions packages/cli-next/src/start-studio.spec.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
import { expect } from '@jest/globals';

describe('test use of novus node package - Events', () => {
test('should ss', () => {
expect(1).toBe(1);
});
});
2 changes: 1 addition & 1 deletion packages/cli-next/tsconfig.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"compilerOptions": {
"module": "commonjs",
"types": ["node"],
"types": ["node", "jest"],
"allowJs": false,
"baseUrl": ".",
"paths": {},
Expand Down
Loading

0 comments on commit 1ab94a6

Please sign in to comment.