setup jest files, do not replace dot after extension, incrase code-coverage, refactorings
This commit is contained in:
parent
697c78f6cc
commit
888b58c33e
|
@ -0,0 +1,6 @@
|
|||
module.exports = {
|
||||
presets: [
|
||||
['@babel/preset-env', { targets: { node: 'current' } }],
|
||||
'@babel/preset-typescript',
|
||||
],
|
||||
};
|
|
@ -0,0 +1,7 @@
|
|||
module.exports = {
|
||||
'roots': ['<rootDir>'],
|
||||
'modulePaths': ['<rootDir>'],
|
||||
preset: 'ts-jest',
|
||||
testEnvironment: 'node',
|
||||
moduleDirectories: ['node_modules'],
|
||||
};
|
|
@ -21,6 +21,7 @@
|
|||
"@types/node": "^16.11.6",
|
||||
"@typescript-eslint/eslint-plugin": "5.29.0",
|
||||
"@typescript-eslint/parser": "5.29.0",
|
||||
"alias-hq": "^5.4.0",
|
||||
"builtin-modules": "3.3.0",
|
||||
"esbuild": "0.15.5",
|
||||
"esbuild-jest": "^0.5.0",
|
||||
|
@ -28,6 +29,7 @@
|
|||
"jest": "29.0.1",
|
||||
"obsidian": "latest",
|
||||
"prettier": "2.7.1",
|
||||
"ts-jest": "^28.0.8",
|
||||
"tslib": "2.4.0",
|
||||
"typescript": "^4.7.4"
|
||||
}
|
||||
|
|
|
@ -55,7 +55,14 @@ const selectFilenamesWithReplacedPath = (plugin: BulkRenamePlugin) => {
|
|||
export const replaceFilePath = (plugin: BulkRenamePlugin, file: TFile) => {
|
||||
const { replacePattern, existingSymbol } = plugin.settings;
|
||||
|
||||
return file.path.replaceAll(existingSymbol, replacePattern);
|
||||
const pathWithoutExtension = file.path.split('.').slice(0, -1).join('.');
|
||||
|
||||
const newPath = pathWithoutExtension?.replaceAll(
|
||||
existingSymbol,
|
||||
replacePattern,
|
||||
);
|
||||
|
||||
return `${newPath}.${file.extension}`;
|
||||
};
|
||||
|
||||
export const renameFilesInObsidian = (app: App, plugin: BulkRenamePlugin) => {
|
||||
|
|
|
@ -18,6 +18,26 @@ describe('File Services', () => {
|
|||
});
|
||||
|
||||
describe('Renaming', () => {
|
||||
it('should replace symbols in naming', () => {
|
||||
const plugin = {
|
||||
settings: {
|
||||
replacePattern: '-',
|
||||
existingSymbol: '_',
|
||||
},
|
||||
} as unknown as BulkRenamePlugin;
|
||||
|
||||
const file = {
|
||||
path: 'journals/2022_10_13.md',
|
||||
extension: 'md',
|
||||
} as unknown as TFile;
|
||||
|
||||
const expectedResult = 'journals/2022-10-13.md';
|
||||
|
||||
const result = replaceFilePath(plugin, file);
|
||||
|
||||
expect(result).toEqual(expectedResult);
|
||||
});
|
||||
|
||||
it('should not rename extensions', () => {
|
||||
const plugin = {
|
||||
settings: {
|
||||
|
@ -28,6 +48,7 @@ describe('File Services', () => {
|
|||
|
||||
const file = {
|
||||
path: '2022.10.13.md',
|
||||
extension: 'md',
|
||||
} as unknown as TFile;
|
||||
|
||||
const expectedResult = '2022-10-13.md';
|
||||
|
@ -36,9 +57,25 @@ describe('File Services', () => {
|
|||
|
||||
expect(result).toEqual(expectedResult);
|
||||
});
|
||||
it.todo('should replace symbols in naming');
|
||||
it.todo(
|
||||
'Should rename files only in a particular directory if the name could match other directories',
|
||||
);
|
||||
|
||||
it('should update directory path', () => {
|
||||
const plugin = {
|
||||
settings: {
|
||||
replacePattern: 'days',
|
||||
existingSymbol: 'journals',
|
||||
},
|
||||
} as unknown as BulkRenamePlugin;
|
||||
|
||||
const file = {
|
||||
path: 'journals/2022_10_13.md',
|
||||
extension: 'md',
|
||||
} as unknown as TFile;
|
||||
|
||||
const expectedResult = 'days/2022_10_13.md';
|
||||
|
||||
const result = replaceFilePath(plugin, file);
|
||||
|
||||
expect(result).toEqual(expectedResult);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
Loading…
Reference in New Issue