You've already forked joplin
mirror of
https://github.com/laurent22/joplin.git
synced 2025-11-06 09:19:22 +02:00
Fixed note edition
This commit is contained in:
@@ -2,7 +2,7 @@ require('source-map-support').install();
|
||||
require('babel-plugin-transform-runtime');
|
||||
|
||||
import { time } from 'lib/time-utils.js';
|
||||
import { setupDatabase, setupDatabaseAndSynchronizer, db, synchronizer, fileApi, sleep, clearDatabase, switchClient } from 'test-utils.js';
|
||||
import { setupDatabase, setupDatabaseAndSynchronizer, db, synchronizer, fileApi, sleep, clearDatabase, switchClient, syncTargetId } from 'test-utils.js';
|
||||
import { Folder } from 'lib/models/folder.js';
|
||||
import { Note } from 'lib/models/note.js';
|
||||
import { Tag } from 'lib/models/tag.js';
|
||||
@@ -40,7 +40,11 @@ async function localItemsSameAsRemote(locals, expect) {
|
||||
expect(!!remote).toBe(true);
|
||||
if (!remote) continue;
|
||||
|
||||
expect(remote.updated_time).toBe(dbItem.updated_time);
|
||||
if (syncTargetId() == Database.enumId('syncTarget', 'filesystem')) {
|
||||
expect(remote.updated_time).toBe(Math.floor(dbItem.updated_time / 1000) * 1000);
|
||||
} else {
|
||||
expect(remote.updated_time).toBe(dbItem.updated_time);
|
||||
}
|
||||
|
||||
let remoteContent = await fileApi().get(path);
|
||||
remoteContent = dbItem.type_ == BaseModel.TYPE_NOTE ? await Note.unserialize(remoteContent) : await Folder.unserialize(remoteContent);
|
||||
@@ -240,7 +244,7 @@ describe('Synchronizer', function() {
|
||||
expect(files.length).toBe(1);
|
||||
expect(files[0].path).toBe(Folder.systemPath(folder1));
|
||||
|
||||
let deletedItems = await BaseItem.deletedItems(syncTargetId);
|
||||
let deletedItems = await BaseItem.deletedItems(syncTargetId());
|
||||
expect(deletedItems.length).toBe(0);
|
||||
|
||||
done();
|
||||
@@ -262,7 +266,7 @@ describe('Synchronizer', function() {
|
||||
await synchronizer().start();
|
||||
let items = await allItems();
|
||||
expect(items.length).toBe(1);
|
||||
let deletedItems = await BaseItem.deletedItems(syncTargetId);
|
||||
let deletedItems = await BaseItem.deletedItems(syncTargetId());
|
||||
expect(deletedItems.length).toBe(0);
|
||||
|
||||
done();
|
||||
@@ -568,7 +572,7 @@ describe('Synchronizer', function() {
|
||||
await synchronizer().start();
|
||||
await Note.save({ id: n1.id, is_conflict: 1 });
|
||||
await Note.delete(n1.id);
|
||||
const deletedItems = await BaseItem.deletedItems(syncTargetId);
|
||||
const deletedItems = await BaseItem.deletedItems(syncTargetId());
|
||||
|
||||
expect(deletedItems.length).toBe(0);
|
||||
|
||||
|
||||
@@ -13,6 +13,7 @@ import { BaseItem } from 'lib/models/base-item.js';
|
||||
import { Synchronizer } from 'lib/synchronizer.js';
|
||||
import { FileApi } from 'lib/file-api.js';
|
||||
import { FileApiDriverMemory } from 'lib/file-api-driver-memory.js';
|
||||
import { FileApiDriverLocal } from 'lib/file-api-driver-local.js';
|
||||
import { FsDriverNode } from '../app/fs-driver-node.js';
|
||||
import { time } from 'lib/time-utils.js';
|
||||
|
||||
@@ -28,6 +29,9 @@ Resource.fsDriver_ = fsDriver;
|
||||
const logDir = __dirname + '/../tests/logs';
|
||||
fs.mkdirpSync(logDir, 0o755);
|
||||
|
||||
const syncTarget = 'filesystem';
|
||||
const syncDir = __dirname + '/../tests/sync';
|
||||
|
||||
const logger = new Logger();
|
||||
logger.addTarget('file', { path: logDir + '/log.txt' });
|
||||
logger.setLevel(Logger.LEVEL_DEBUG);
|
||||
@@ -41,6 +45,11 @@ BaseItem.loadClass('NoteTag', NoteTag);
|
||||
Setting.setConstant('appId', 'net.cozic.joplin-cli');
|
||||
Setting.setConstant('appType', 'cli');
|
||||
|
||||
function syncTargetId() {
|
||||
return JoplinDatabase.enumId('syncTarget', 'filesystem');
|
||||
//return JoplinDatabase.enumId('syncTarget', 'memory');
|
||||
}
|
||||
|
||||
function sleep(n) {
|
||||
return new Promise((resolve, reject) => {
|
||||
setTimeout(() => {
|
||||
@@ -111,7 +120,12 @@ async function setupDatabaseAndSynchronizer(id = null) {
|
||||
synchronizers_[id].setLogger(logger);
|
||||
}
|
||||
|
||||
await fileApi().format();
|
||||
if (syncTarget == 'filesystem') {
|
||||
fs.removeSync(syncDir)
|
||||
fs.mkdirpSync(syncDir, 0o755);
|
||||
} else {
|
||||
await fileApi().format();
|
||||
}
|
||||
}
|
||||
|
||||
function db(id = null) {
|
||||
@@ -127,9 +141,17 @@ function synchronizer(id = null) {
|
||||
function fileApi() {
|
||||
if (fileApi_) return fileApi_;
|
||||
|
||||
fileApi_ = new FileApi('/root', new FileApiDriverMemory());
|
||||
fileApi_.setLogger(logger);
|
||||
return fileApi_;
|
||||
if (syncTarget == 'filesystem') {
|
||||
fs.removeSync(syncDir)
|
||||
fs.mkdirpSync(syncDir, 0o755);
|
||||
fileApi_ = new FileApi(syncDir, new FileApiDriverLocal());
|
||||
fileApi_.setLogger(logger);
|
||||
return fileApi_;
|
||||
} else {
|
||||
fileApi_ = new FileApi('/root', new FileApiDriverMemory());
|
||||
fileApi_.setLogger(logger);
|
||||
return fileApi_;
|
||||
}
|
||||
}
|
||||
|
||||
export { setupDatabase, setupDatabaseAndSynchronizer, db, synchronizer, fileApi, sleep, clearDatabase, switchClient };
|
||||
export { setupDatabase, setupDatabaseAndSynchronizer, db, synchronizer, fileApi, sleep, clearDatabase, switchClient, syncTargetId };
|
||||
Reference in New Issue
Block a user