diff --git a/packages/core/package.json b/packages/core/package.json index 3182ae734d..595748f162 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -6,6 +6,7 @@ "license": "EPL-2.0", "scripts": { "build": "heft build", + "test": "heft test", "lint:fix": "eslint --fix src" }, "devDependencies": { @@ -16,7 +17,8 @@ "eslint-plugin-promise":"4", "eslint-plugin-node":"11", "eslint":"^7.32.0", - "simplytyped": "^3.3.0" + "simplytyped": "^3.3.0", + "@rushstack/heft": "^0.35.0" }, "dependencies": { "@anticrm/platform": "~0.6.5" diff --git a/packages/core/src/__tests__/memdb.test.ts b/packages/core/src/__tests__/memdb.test.ts index 1427f39895..5eeb7e6641 100644 --- a/packages/core/src/__tests__/memdb.test.ts +++ b/packages/core/src/__tests__/memdb.test.ts @@ -41,6 +41,27 @@ describe('memdb', () => { expect(result.length).toBe(txes.filter((tx) => tx._class === core.class.TxCreateDoc).length) }) + it('should create space', async () => { + const { model } = await createModel() + + const client = new TxOperations(model, core.account.System) + const result = await client.findAll(core.class.Space, {}) + expect(result).toHaveLength(2) + + await client.createDoc(core.class.Space, core.space.Model, { + private: false, + name: 'NewSpace', + description: '', + members: [] + }) + const result2 = await client.findAll(core.class.Space, {}) + expect(result2).toHaveLength(3) + + await client.createDoc(core.class.Space, core.space.Model, { private: false, name: 'NewSpace', description: '', members: [] }) + const result3 = await client.findAll(core.class.Space, {}) + expect(result3).toHaveLength(4) + }) + it('should query model', async () => { const { model } = await createModel() const result = await model.findAll(core.class.Class, {}) diff --git a/packages/core/src/client.ts b/packages/core/src/client.ts index 4a564b5eb0..02637cb9ad 100644 --- a/packages/core/src/client.ts +++ b/packages/core/src/client.ts @@ -74,8 +74,9 @@ class ClientImpl implements Client { if (tx.objectSpace === core.space.Model) { this.hierarchy.tx(tx) await this.model.tx(tx) + } else { + await this.conn.tx(tx) } - await this.conn.tx(tx) this.notify?.(tx) }