fix: preserve Today sync enqueue order
This commit is contained in:
1 parent
4a85f02eae
commit
442d0a157d
3 files changed
+27
-2
No files matched your search
@@ -83,6 +83,31 @@ sync.enqueue('add', 'issue:r:1:');
|
||||
}
|
||||
|
||||
|
||||
def test_operations_queued_in_the_same_millisecond_preserve_enqueue_order():
|
||||
script = f"""
|
||||
const createTodaySync = require({json.dumps(str(TODAY_SYNC))});
|
||||
const values = new Map();
|
||||
const storage = {{
|
||||
get length() {{ return values.size; }}, key: index => [...values.keys()][index] || null,
|
||||
getItem: key => values.get(key) || null,
|
||||
setItem: (key, value) => values.set(key, value), removeItem: key => values.delete(key),
|
||||
}};
|
||||
const operationIds = ['z-add-first', 'a-move-second'];
|
||||
const sync = createTodaySync({{
|
||||
storage, getLogin: () => 'timmy', now: () => 1000,
|
||||
createOperationId: () => operationIds.shift(),
|
||||
fetchJson: async () => ({{revision: 0, ids: []}}),
|
||||
}});
|
||||
sync.enqueue('add', 'issue:r:1:');
|
||||
sync.enqueue('move', 'issue:r:1:', 'up');
|
||||
process.stdout.write(JSON.stringify(sync.pending().map(operation => operation.operation_id)));
|
||||
"""
|
||||
|
||||
assert json.loads(subprocess.run(
|
||||
["node", "-e", script], check=True, capture_output=True, text=True
|
||||
).stdout) == ["z-add-first", "a-move-second"]
|
||||
|
||||
|
||||
def test_today_capacity_configuration_syncs_offline_and_adopts_remote_plan():
|
||||
script = f"""
|
||||
const createTodaySync = require({json.dumps(str(TODAY_SYNC))});
|
||||
|
||||
Reference in new issue
Block a user