wip
This commit is contained in:
		
							parent
							
								
									eacb5fea9f
								
							
						
					
					
						commit
						6dc01cd109
					
				|  | @ -0,0 +1,197 @@ | |||
| /* | ||||
| * For a detailed explanation regarding each configuration property and type check, visit: | ||||
| * https://jestjs.io/docs/en/configuration.html
 | ||||
| */ | ||||
| 
 | ||||
| export default { | ||||
| 	// 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
 | ||||
| 	// cacheDirectory: "C:\\Users\\ai\\AppData\\Local\\Temp\\jest",
 | ||||
| 
 | ||||
| 	// Automatically clear mock calls and instances between every test
 | ||||
| 	// clearMocks: false,
 | ||||
| 
 | ||||
| 	// 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: "coverage", | ||||
| 
 | ||||
| 	// 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,
 | ||||
| 
 | ||||
| 	// 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",
 | ||||
| 	//   "json",
 | ||||
| 	//   "jsx",
 | ||||
| 	//   "ts",
 | ||||
| 	//   "tsx",
 | ||||
| 	//   "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: undefined,
 | ||||
| 
 | ||||
| 	// 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 between 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 between 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>" | ||||
| 	], | ||||
| 
 | ||||
| 	// 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)", | ||||
| 		"<rootDir>/test/**/*" | ||||
| 	], | ||||
| 
 | ||||
| 	// 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: "jasmine2",
 | ||||
| 
 | ||||
| 	// This option sets the URL for the jsdom environment. It is reflected in properties such as location.href
 | ||||
| 	// testURL: "http://localhost",
 | ||||
| 
 | ||||
| 	// Setting this value to "fake" allows the use of fake timers for functions such as "setTimeout"
 | ||||
| 	// timers: "real",
 | ||||
| 
 | ||||
| 	// A map from regular expressions to paths to transformers
 | ||||
| 	transform: { | ||||
| 		"^.+\\.(ts|tsx)$": "ts-jest" | ||||
| 	}, | ||||
| 
 | ||||
| 	// 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,
 | ||||
| }; | ||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										11
									
								
								package.json
								
								
								
								
							
							
						
						
									
										11
									
								
								package.json
								
								
								
								
							|  | @ -8,16 +8,21 @@ | |||
|     "build": "npm run tsc", | ||||
|     "tsc": "tsc", | ||||
|     "tsd": "tsd", | ||||
|     "test": "mocha -r ts-node/register 'test/**/*.ts' && npm run tsd" | ||||
|     "jest": "jest", | ||||
|     "test": "npm run jest && npm run tsd" | ||||
|   }, | ||||
|   "repository": { | ||||
|     "type": "git", | ||||
|     "url": "git+https://github.com/misskey-dev/misskey.js.git" | ||||
|   }, | ||||
|   "devDependencies": { | ||||
|     "@types/mocha": "8.2.x", | ||||
|     "@types/jest": "^26.0.23", | ||||
|     "@types/node": "14.14.x", | ||||
|     "mocha": "8.3.x", | ||||
|     "fetch-mock-jest": "^1.5.1", | ||||
|     "jest": "^26.6.3", | ||||
|     "jest-websocket-mock": "^2.2.0", | ||||
|     "mock-socket": "^9.0.3", | ||||
|     "ts-jest": "^26.5.6", | ||||
|     "ts-node": "9.1.x", | ||||
|     "tsd": "^0.14.0", | ||||
|     "typescript": "4.2.x" | ||||
|  |  | |||
|  | @ -0,0 +1,29 @@ | |||
| import fetchMock from 'fetch-mock-jest'; | ||||
| import { request } from '../src/api'; | ||||
| 
 | ||||
| describe('API', () => { | ||||
| 	test('success', async () => { | ||||
| 		fetchMock | ||||
| 			.post('https://misskey.test/api/i', (url, options) => { | ||||
| 				if (typeof options.body.i === 'string') { | ||||
| 					return { | ||||
| 						body: { | ||||
| 							id: 'foo' | ||||
| 						} | ||||
| 					}; | ||||
| 				} | ||||
| 				return 400; | ||||
| 			}); | ||||
| 
 | ||||
| 		const res = await request('https://misskey.test', 'i', {}, 'TOKEN'); | ||||
| 
 | ||||
| 		expect(res).toEqual({ | ||||
| 			id: 'foo' | ||||
| 		}); | ||||
| 
 | ||||
| 		expect(fetchMock).toHaveLastFetched({ | ||||
| 			url: 'https://misskey.test/api/i', | ||||
| 			body: { i: 'TOKEN' } | ||||
| 		}, 'post'); | ||||
| 	}); | ||||
| }); | ||||
		Loading…
	
		Reference in New Issue