diff --git a/packages/core/app/src/__tests__/commands.test.ts b/packages/core/app/src/__tests__/commands.test.ts index f300d4cbda..946df74d9c 100644 --- a/packages/core/app/src/__tests__/commands.test.ts +++ b/packages/core/app/src/__tests__/commands.test.ts @@ -7,7 +7,7 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { mockDatabase } from '@nocobase/database'; +import { createMockDatabase, mockDatabase } from '@nocobase/database'; import { uid } from '@nocobase/utils'; import axios from 'axios'; import execa from 'execa'; @@ -64,7 +64,7 @@ const createDatabase = async () => { if (process.env.DB_DIALECT === 'sqlite') { return 'nocobase'; } - const db = mockDatabase(); + const db = await createMockDatabase(); const name = `d_${uid()}`; await db.sequelize.query(`CREATE DATABASE ${name}`); await db.close(); diff --git a/packages/core/data-source-manager/src/__tests__/data-source-manager.test.ts b/packages/core/data-source-manager/src/__tests__/data-source-manager.test.ts index 701bd7e191..6e43a750ab 100644 --- a/packages/core/data-source-manager/src/__tests__/data-source-manager.test.ts +++ b/packages/core/data-source-manager/src/__tests__/data-source-manager.test.ts @@ -7,10 +7,10 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { createMockServer, mockDatabase, supertest } from '@nocobase/test'; -import { SequelizeDataSource } from '../sequelize-data-source'; -import { vi } from 'vitest'; import { DataSourceManager } from '@nocobase/data-source-manager'; +import { createMockDatabase, createMockServer, mockDatabase, supertest } from '@nocobase/test'; +import { vi } from 'vitest'; +import { SequelizeDataSource } from '../sequelize-data-source'; describe('example', () => { test.skip('case1', async () => { @@ -41,7 +41,7 @@ describe('example', () => { name: 'test2', }); - const database = mockDatabase({ + const database = await createMockDatabase({ tablePrefix: 'ds1_', }); await database.clean({ drop: true }); @@ -82,7 +82,7 @@ describe('example', () => { name: 'update-filter', }); - const database = mockDatabase({ + const database = await createMockDatabase({ tablePrefix: 'ds1_', }); @@ -128,7 +128,7 @@ describe('example', () => { name: 'update-filter', }); - const database = mockDatabase({ + const database = await createMockDatabase({ tablePrefix: 'ds1_', }); @@ -198,7 +198,7 @@ describe('example', () => { // it should be called on main datasource expect(hook).toBeCalledTimes(1); - const database = mockDatabase({ + const database = await createMockDatabase({ tablePrefix: 'ds1_', }); diff --git a/packages/core/data-source-manager/src/__tests__/koa.test.ts b/packages/core/data-source-manager/src/__tests__/koa.test.ts index 3c42dd8aed..587b549543 100644 --- a/packages/core/data-source-manager/src/__tests__/koa.test.ts +++ b/packages/core/data-source-manager/src/__tests__/koa.test.ts @@ -7,7 +7,7 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { mockDatabase } from '@nocobase/test'; +import { createMockDatabase, mockDatabase } from '@nocobase/test'; import Koa from 'koa'; import bodyParser from 'koa-bodyparser'; import supertest from 'supertest'; @@ -24,7 +24,7 @@ describe('example', () => { await next(); }); app.use(dsm.middleware()); - const database = mockDatabase({ + const database = await createMockDatabase({ tablePrefix: 'ds1_', }); await database.clean({ drop: true }); diff --git a/packages/core/database/src/__tests__/associations/references.test.ts b/packages/core/database/src/__tests__/associations/references.test.ts index 0cd351b47e..475c2b751e 100644 --- a/packages/core/database/src/__tests__/associations/references.test.ts +++ b/packages/core/database/src/__tests__/associations/references.test.ts @@ -7,13 +7,13 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { Database } from '../../database'; -import { mockDatabase } from '../index'; +import { Database, createMockDatabase } from '@nocobase/database'; + describe('association references', () => { let db: Database; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); }); diff --git a/packages/core/database/src/__tests__/associations/target-key.test.ts b/packages/core/database/src/__tests__/associations/target-key.test.ts index fd0c5d0bc3..2c203c68ef 100644 --- a/packages/core/database/src/__tests__/associations/target-key.test.ts +++ b/packages/core/database/src/__tests__/associations/target-key.test.ts @@ -7,13 +7,13 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { Database, mockDatabase } from '@nocobase/database'; +import { createMockDatabase, Database } from '@nocobase/database'; describe('association target key', async () => { let db: Database; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); }); diff --git a/packages/core/database/src/__tests__/bigint.test.ts b/packages/core/database/src/__tests__/bigint.test.ts index 621c8700b7..31453334fb 100644 --- a/packages/core/database/src/__tests__/bigint.test.ts +++ b/packages/core/database/src/__tests__/bigint.test.ts @@ -7,14 +7,13 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { Database } from '../database'; -import { mockDatabase } from './index'; +import { createMockDatabase, Database } from '@nocobase/database'; describe.skipIf(process.env['DB_DIALECT'] === 'sqlite')('collection', () => { let db: Database; beforeEach(async () => { - db = mockDatabase({ + db = await createMockDatabase({ logging: console.log, }); diff --git a/packages/core/database/src/__tests__/collection-factory.test.ts b/packages/core/database/src/__tests__/collection-factory.test.ts index fb6b2cb6b4..0a48ebfbf4 100644 --- a/packages/core/database/src/__tests__/collection-factory.test.ts +++ b/packages/core/database/src/__tests__/collection-factory.test.ts @@ -7,16 +7,14 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ +import { Collection, Database, createMockDatabase } from '@nocobase/database'; import { vi } from 'vitest'; -import Database from '../database'; -import { mockDatabase } from './index'; -import { Collection } from '../collection'; describe('collection factory', function () { let db: Database; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); }); diff --git a/packages/core/database/src/__tests__/collection.test.ts b/packages/core/database/src/__tests__/collection.test.ts index dbe8dd1ceb..d94a87ba04 100644 --- a/packages/core/database/src/__tests__/collection.test.ts +++ b/packages/core/database/src/__tests__/collection.test.ts @@ -7,9 +7,7 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { Collection } from '../collection'; -import { Database } from '../database'; -import { mockDatabase } from './index'; +import { Collection, Database, createMockDatabase } from '@nocobase/database'; import { IdentifierError } from '../errors/identifier-error'; const pgOnly = () => (process.env.DB_DIALECT == 'postgres' ? it : it.skip); @@ -17,7 +15,7 @@ describe('collection', () => { let db: Database; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); }); @@ -265,7 +263,7 @@ describe('collection sync', () => { let db: Database; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); }); diff --git a/packages/core/database/src/__tests__/database.import.test.ts b/packages/core/database/src/__tests__/database.import.test.ts index c008e46710..a5facdb6e7 100644 --- a/packages/core/database/src/__tests__/database.import.test.ts +++ b/packages/core/database/src/__tests__/database.import.test.ts @@ -7,15 +7,14 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { mockDatabase } from './index'; +import { Database, createMockDatabase } from '@nocobase/database'; import path from 'path'; -import Database from '../database'; describe('database', () => { let db: Database; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); }); diff --git a/packages/core/database/src/__tests__/database.test.ts b/packages/core/database/src/__tests__/database.test.ts index 1d04ee4dc6..9f1ce51154 100644 --- a/packages/core/database/src/__tests__/database.test.ts +++ b/packages/core/database/src/__tests__/database.test.ts @@ -7,17 +7,15 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { vi } from 'vitest'; +import { ArrayFieldRepository, createMockDatabase, Database, Model } from '@nocobase/database'; import path from 'path'; -import { Database, Model } from '..'; -import { ArrayFieldRepository } from '../field-repository/array-field-repository'; -import { mockDatabase } from './index'; +import { vi } from 'vitest'; describe('database', () => { let db: Database; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); }); diff --git a/packages/core/database/src/__tests__/dialect-extend/dialect-extend.test.ts b/packages/core/database/src/__tests__/dialect-extend/dialect-extend.test.ts index e4e95b75d4..b8ddf9b8ca 100644 --- a/packages/core/database/src/__tests__/dialect-extend/dialect-extend.test.ts +++ b/packages/core/database/src/__tests__/dialect-extend/dialect-extend.test.ts @@ -7,15 +7,13 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { mockDatabase } from '../'; -import { Database } from '../../database'; -import { BaseDialect } from '../../dialects/base-dialect'; +import { BaseDialect, Database, createMockDatabase } from '@nocobase/database'; describe('dialect extend', () => { let db: Database; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); }); diff --git a/packages/core/database/src/__tests__/eager-loading/eager-loading-tree.test.ts b/packages/core/database/src/__tests__/eager-loading/eager-loading-tree.test.ts index 6f5ff48d58..8d29b8e51a 100644 --- a/packages/core/database/src/__tests__/eager-loading/eager-loading-tree.test.ts +++ b/packages/core/database/src/__tests__/eager-loading/eager-loading-tree.test.ts @@ -7,13 +7,13 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import Database, { mockDatabase } from '@nocobase/database'; +import Database, { createMockDatabase } from '@nocobase/database'; import { EagerLoadingTree } from '../../eager-loading/eager-loading-tree'; describe('Eager loading tree', () => { let db: Database; beforeEach(async () => { - db = mockDatabase({ + db = await createMockDatabase({ tablePrefix: '', }); diff --git a/packages/core/database/src/__tests__/field-options/hidden.test.ts b/packages/core/database/src/__tests__/field-options/hidden.test.ts index 1be54af80b..1a9687c812 100644 --- a/packages/core/database/src/__tests__/field-options/hidden.test.ts +++ b/packages/core/database/src/__tests__/field-options/hidden.test.ts @@ -7,15 +7,13 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { mockDatabase } from '../'; -import { Database } from '../../database'; -import { Model } from '../../model'; +import { Database, Model, createMockDatabase } from '@nocobase/database'; describe('hidden field options', () => { let db: Database; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); }); diff --git a/packages/core/database/src/__tests__/field-options/inddex.test.ts b/packages/core/database/src/__tests__/field-options/inddex.test.ts index 4793f1699c..83d2e77d81 100644 --- a/packages/core/database/src/__tests__/field-options/inddex.test.ts +++ b/packages/core/database/src/__tests__/field-options/inddex.test.ts @@ -7,15 +7,14 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { mockDatabase } from '../'; -import { Database } from '../../database'; +import { Database, createMockDatabase } from '@nocobase/database'; import { md5 } from '../../utils'; describe('index field options', () => { let db: Database; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); }); diff --git a/packages/core/database/src/__tests__/field-options/sort-by.test.ts b/packages/core/database/src/__tests__/field-options/sort-by.test.ts index 7cbd92b0b4..c6774363a9 100644 --- a/packages/core/database/src/__tests__/field-options/sort-by.test.ts +++ b/packages/core/database/src/__tests__/field-options/sort-by.test.ts @@ -7,8 +7,7 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { mockDatabase } from '@nocobase/test'; -import { BelongsToManyRepository, Database } from '../../index'; +import { BelongsToManyRepository, Database, createMockDatabase } from '@nocobase/database'; describe('associated field order', () => { let db: Database; @@ -18,7 +17,7 @@ describe('associated field order', () => { }); beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); db.collection({ diff --git a/packages/core/database/src/__tests__/field-repository/array-field-repository.test.ts b/packages/core/database/src/__tests__/field-repository/array-field-repository.test.ts index 678f3289d4..605f9972bc 100644 --- a/packages/core/database/src/__tests__/field-repository/array-field-repository.test.ts +++ b/packages/core/database/src/__tests__/field-repository/array-field-repository.test.ts @@ -7,9 +7,7 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { mockDatabase } from '../index'; -import Database from '../../database'; -import { ArrayFieldRepository } from '../../field-repository/array-field-repository'; +import { ArrayFieldRepository, Database, createMockDatabase } from '@nocobase/database'; describe('Array field repository', () => { let db: Database; @@ -17,7 +15,7 @@ describe('Array field repository', () => { let TestCollection; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); TestCollection = db.collection({ name: 'test', diff --git a/packages/core/database/src/__tests__/fields/array.test.ts b/packages/core/database/src/__tests__/fields/array.test.ts index 88ac7bf3bd..4ebd5db15d 100644 --- a/packages/core/database/src/__tests__/fields/array.test.ts +++ b/packages/core/database/src/__tests__/fields/array.test.ts @@ -7,14 +7,13 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { mockDatabase } from '../'; -import { Database } from '../../database'; +import { Database, createMockDatabase } from '@nocobase/database'; describe('array field', () => { let db: Database; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); }); diff --git a/packages/core/database/src/__tests__/fields/belongs-to-field.test.ts b/packages/core/database/src/__tests__/fields/belongs-to-field.test.ts index 3a29ec68a3..7c3f9882dc 100644 --- a/packages/core/database/src/__tests__/fields/belongs-to-field.test.ts +++ b/packages/core/database/src/__tests__/fields/belongs-to-field.test.ts @@ -7,15 +7,14 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { Database } from '../../database'; -import { mockDatabase } from '../'; +import { Database, createMockDatabase } from '@nocobase/database'; import { IdentifierError } from '../../errors/identifier-error'; describe('belongs to field', () => { let db: Database; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); }); diff --git a/packages/core/database/src/__tests__/fields/belongs-to-many-field.test.ts b/packages/core/database/src/__tests__/fields/belongs-to-many-field.test.ts index d21e923b3b..2c57ade86c 100644 --- a/packages/core/database/src/__tests__/fields/belongs-to-many-field.test.ts +++ b/packages/core/database/src/__tests__/fields/belongs-to-many-field.test.ts @@ -7,15 +7,14 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { mockDatabase } from '../'; -import { Database } from '../../database'; +import { Database, createMockDatabase } from '@nocobase/database'; import { IdentifierError } from '../../errors/identifier-error'; describe('belongs to many field', () => { let db: Database; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); }); diff --git a/packages/core/database/src/__tests__/fields/context-field.test.ts b/packages/core/database/src/__tests__/fields/context-field.test.ts index 392dc9ec0b..b58f3dae4f 100644 --- a/packages/core/database/src/__tests__/fields/context-field.test.ts +++ b/packages/core/database/src/__tests__/fields/context-field.test.ts @@ -7,15 +7,14 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ +import { createMockDatabase, Database } from '@nocobase/database'; import { DataTypes } from 'sequelize'; -import { mockDatabase } from '../'; -import { Database } from '../../'; describe('context field', () => { let db: Database; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); }); diff --git a/packages/core/database/src/__tests__/fields/date-only.test.ts b/packages/core/database/src/__tests__/fields/date-only.test.ts index 1b6d9a60f7..d6f93c7ae8 100644 --- a/packages/core/database/src/__tests__/fields/date-only.test.ts +++ b/packages/core/database/src/__tests__/fields/date-only.test.ts @@ -7,13 +7,13 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { Database, mockDatabase } from '@nocobase/database'; +import { createMockDatabase, Database } from '@nocobase/database'; describe('date only', () => { let db: Database; beforeEach(async () => { - db = mockDatabase({ + db = await createMockDatabase({ timezone: '+08:00', }); await db.clean({ drop: true }); diff --git a/packages/core/database/src/__tests__/fields/datetime-no-tz.test.ts b/packages/core/database/src/__tests__/fields/datetime-no-tz.test.ts index e78ada5678..a6c61b28b8 100644 --- a/packages/core/database/src/__tests__/fields/datetime-no-tz.test.ts +++ b/packages/core/database/src/__tests__/fields/datetime-no-tz.test.ts @@ -7,14 +7,14 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { Database, mockDatabase } from '@nocobase/database'; +import { createMockDatabase, Database } from '@nocobase/database'; import { sleep } from '@nocobase/test'; describe('datetime no tz field', () => { let db: Database; beforeEach(async () => { - db = mockDatabase({ + db = await createMockDatabase({ timezone: '+01:00', }); await db.clean({ drop: true }); diff --git a/packages/core/database/src/__tests__/fields/datetime-tz.test.ts b/packages/core/database/src/__tests__/fields/datetime-tz.test.ts index 789063dae5..cf2fb1cc9b 100644 --- a/packages/core/database/src/__tests__/fields/datetime-tz.test.ts +++ b/packages/core/database/src/__tests__/fields/datetime-tz.test.ts @@ -7,15 +7,13 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { mockDatabase } from '../'; -import { Database } from '../../database'; -import { Repository } from '../../repository'; +import { Database, Repository, createMockDatabase } from '@nocobase/database'; describe('timezone', () => { let db: Database; beforeEach(async () => { - db = mockDatabase({ + db = await createMockDatabase({ timezone: '+08:00', }); await db.clean({ drop: true }); @@ -119,7 +117,7 @@ describe('date-field', () => { let repository: Repository; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); db.collection({ name: 'tests', diff --git a/packages/core/database/src/__tests__/fields/encryption-field.test.ts b/packages/core/database/src/__tests__/fields/encryption-field.test.ts index e368ceb04d..606580f182 100644 --- a/packages/core/database/src/__tests__/fields/encryption-field.test.ts +++ b/packages/core/database/src/__tests__/fields/encryption-field.test.ts @@ -7,14 +7,13 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { EncryptionField } from '../../fields/encryption-field'; -import { mockDatabase, MockDatabase } from '../../mock-database'; +import { createMockDatabase, EncryptionField, MockDatabase } from '@nocobase/database'; describe('encryption field', () => { let db: MockDatabase; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); db.registerFieldTypes({ encryption: EncryptionField, diff --git a/packages/core/database/src/__tests__/fields/has-many-field.test.ts b/packages/core/database/src/__tests__/fields/has-many-field.test.ts index 51b3d25ba2..6efbbe8a6b 100644 --- a/packages/core/database/src/__tests__/fields/has-many-field.test.ts +++ b/packages/core/database/src/__tests__/fields/has-many-field.test.ts @@ -7,15 +7,14 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { Database } from '../../database'; -import { mockDatabase } from '../'; +import { Database, createMockDatabase } from '@nocobase/database'; import { IdentifierError } from '../../errors/identifier-error'; describe('has many field', () => { let db: Database; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); }); diff --git a/packages/core/database/src/__tests__/fields/has-one-field.test.ts b/packages/core/database/src/__tests__/fields/has-one-field.test.ts index 94b92dd246..8a6f66a919 100644 --- a/packages/core/database/src/__tests__/fields/has-one-field.test.ts +++ b/packages/core/database/src/__tests__/fields/has-one-field.test.ts @@ -7,15 +7,14 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { Database } from '../../database'; -import { mockDatabase } from '../'; +import { Database, createMockDatabase } from '@nocobase/database'; import { IdentifierError } from '../../errors/identifier-error'; describe('has many field', () => { let db: Database; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); }); diff --git a/packages/core/database/src/__tests__/fields/nanoid-field.test.ts b/packages/core/database/src/__tests__/fields/nanoid-field.test.ts index ee1f1b9859..9c658c9461 100644 --- a/packages/core/database/src/__tests__/fields/nanoid-field.test.ts +++ b/packages/core/database/src/__tests__/fields/nanoid-field.test.ts @@ -7,14 +7,13 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { mockDatabase } from '../'; -import { Database } from '../../database'; +import { Database, createMockDatabase } from '@nocobase/database'; describe('nanoid field', () => { let db: Database; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); }); diff --git a/packages/core/database/src/__tests__/fields/password-field.test.ts b/packages/core/database/src/__tests__/fields/password-field.test.ts index 9b25339793..175e5620fa 100644 --- a/packages/core/database/src/__tests__/fields/password-field.test.ts +++ b/packages/core/database/src/__tests__/fields/password-field.test.ts @@ -7,14 +7,13 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { mockDatabase } from '../'; -import { Database, PasswordField } from '../../'; +import { createMockDatabase, Database, PasswordField } from '@nocobase/database'; describe('password field', () => { let db: Database; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); }); diff --git a/packages/core/database/src/__tests__/fields/set.test.ts b/packages/core/database/src/__tests__/fields/set.test.ts index 2ef56022ce..d71c0a1272 100644 --- a/packages/core/database/src/__tests__/fields/set.test.ts +++ b/packages/core/database/src/__tests__/fields/set.test.ts @@ -7,14 +7,13 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { mockDatabase } from '../'; -import { Database } from '../../database'; +import { Database, createMockDatabase } from '@nocobase/database'; describe('set field', () => { let db: Database; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); }); diff --git a/packages/core/database/src/__tests__/fields/string-field.test.ts b/packages/core/database/src/__tests__/fields/string-field.test.ts index 0d5acc25d9..ee4f3e631d 100644 --- a/packages/core/database/src/__tests__/fields/string-field.test.ts +++ b/packages/core/database/src/__tests__/fields/string-field.test.ts @@ -7,14 +7,13 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { Database } from '../../database'; -import { mockDatabase } from '../'; +import { Database, createMockDatabase } from '@nocobase/database'; describe('string field', () => { let db: Database; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); }); diff --git a/packages/core/database/src/__tests__/fields/text-field.test.ts b/packages/core/database/src/__tests__/fields/text-field.test.ts index 1708a1bfc1..b9c19e69f1 100644 --- a/packages/core/database/src/__tests__/fields/text-field.test.ts +++ b/packages/core/database/src/__tests__/fields/text-field.test.ts @@ -7,14 +7,13 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { mockDatabase } from '../'; -import { Database } from '../../database'; +import { Database, createMockDatabase } from '@nocobase/database'; describe('text field', () => { let db: Database; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); }); diff --git a/packages/core/database/src/__tests__/fields/unix-timestamp-field.test.ts b/packages/core/database/src/__tests__/fields/unix-timestamp-field.test.ts index 65b9068728..9b7bcab424 100644 --- a/packages/core/database/src/__tests__/fields/unix-timestamp-field.test.ts +++ b/packages/core/database/src/__tests__/fields/unix-timestamp-field.test.ts @@ -7,14 +7,14 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { Database, mockDatabase } from '@nocobase/database'; +import { Database, createMockDatabase } from '@nocobase/database'; import moment from 'moment'; describe('unix timestamp field', () => { let db: Database; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); }); diff --git a/packages/core/database/src/__tests__/fields/uuid-field.test.ts b/packages/core/database/src/__tests__/fields/uuid-field.test.ts index aa7f2b278f..c1f66aad81 100644 --- a/packages/core/database/src/__tests__/fields/uuid-field.test.ts +++ b/packages/core/database/src/__tests__/fields/uuid-field.test.ts @@ -7,14 +7,13 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { mockDatabase } from '../'; -import { Database } from '../../database'; +import { Database, createMockDatabase } from '@nocobase/database'; describe('uuid field', () => { let db: Database; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); }); diff --git a/packages/core/database/src/__tests__/filter-match.test.ts b/packages/core/database/src/__tests__/filter-match.test.ts index f2f4b58362..dae3a85697 100644 --- a/packages/core/database/src/__tests__/filter-match.test.ts +++ b/packages/core/database/src/__tests__/filter-match.test.ts @@ -7,15 +7,13 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { Database } from '..'; -import { filterMatch } from '../filter-match'; -import { mockDatabase } from './index'; +import { createMockDatabase, Database, filterMatch } from '@nocobase/database'; describe('filterMatch', () => { let db: Database; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); }); diff --git a/packages/core/database/src/__tests__/filter-parser.test.ts b/packages/core/database/src/__tests__/filter-parser.test.ts index 3600e42610..eb111d0f07 100644 --- a/packages/core/database/src/__tests__/filter-parser.test.ts +++ b/packages/core/database/src/__tests__/filter-parser.test.ts @@ -7,16 +7,14 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ +import { Database, FilterParser, createMockDatabase } from '@nocobase/database'; import { Op } from 'sequelize'; -import { Database } from '../database'; -import FilterParser from '../filter-parser'; -import { mockDatabase } from './index'; describe('filter by related', () => { let db: Database; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); db.collection({ name: 'users', diff --git a/packages/core/database/src/__tests__/filter-target-key/multi-filter-target-key.test.ts b/packages/core/database/src/__tests__/filter-target-key/multi-filter-target-key.test.ts index aead5d20f5..ca526e802f 100644 --- a/packages/core/database/src/__tests__/filter-target-key/multi-filter-target-key.test.ts +++ b/packages/core/database/src/__tests__/filter-target-key/multi-filter-target-key.test.ts @@ -7,13 +7,13 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import Database, { mockDatabase } from '../../index'; +import Database, { createMockDatabase } from '@nocobase/database'; describe('multi filter target key', () => { let db: Database; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); }); diff --git a/packages/core/database/src/__tests__/filter-target-key/single-filter-target-key.test.ts b/packages/core/database/src/__tests__/filter-target-key/single-filter-target-key.test.ts index e03e5f88c0..daf4b7d502 100644 --- a/packages/core/database/src/__tests__/filter-target-key/single-filter-target-key.test.ts +++ b/packages/core/database/src/__tests__/filter-target-key/single-filter-target-key.test.ts @@ -1,10 +1,19 @@ -import Database, { mockDatabase } from '@nocobase/database'; +/** + * This file is part of the NocoBase (R) project. + * Copyright (c) 2020-2024 NocoBase Co., Ltd. + * Authors: NocoBase Team. + * + * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License. + * For more information, please refer to: https://www.nocobase.com/agreement. + */ + +import Database, { createMockDatabase } from '@nocobase/database'; describe('single filter target key', () => { let db: Database; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); }); diff --git a/packages/core/database/src/__tests__/filter.test.ts b/packages/core/database/src/__tests__/filter.test.ts index cc81a33d20..aa91199c2e 100644 --- a/packages/core/database/src/__tests__/filter.test.ts +++ b/packages/core/database/src/__tests__/filter.test.ts @@ -7,14 +7,13 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import Database from '../database'; -import { mockDatabase } from '../mock-database'; +import { Database, createMockDatabase } from '@nocobase/database'; describe('filter', () => { let db: Database; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); }); diff --git a/packages/core/database/src/__tests__/group.test.ts b/packages/core/database/src/__tests__/group.test.ts index 0ef30e22ca..411000bd0d 100644 --- a/packages/core/database/src/__tests__/group.test.ts +++ b/packages/core/database/src/__tests__/group.test.ts @@ -7,14 +7,14 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { Database, mockDatabase } from '@nocobase/database'; +import { createMockDatabase, Database } from '@nocobase/database'; import sequelize from 'sequelize'; describe('migrator', () => { let db: Database; beforeEach(async () => { - db = mockDatabase({ + db = await createMockDatabase({ tablePrefix: 'test_', }); diff --git a/packages/core/database/src/__tests__/hooks/afterCreateWithAssociations.test.ts b/packages/core/database/src/__tests__/hooks/afterCreateWithAssociations.test.ts index d5fa6f0c44..eaa700055a 100644 --- a/packages/core/database/src/__tests__/hooks/afterCreateWithAssociations.test.ts +++ b/packages/core/database/src/__tests__/hooks/afterCreateWithAssociations.test.ts @@ -7,14 +7,13 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { mockDatabase } from '../'; -import { Database } from '../../database'; +import { Database, createMockDatabase } from '@nocobase/database'; describe('afterCreateWithAssociations', () => { let db: Database; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); }); diff --git a/packages/core/database/src/__tests__/hooks/hook.test.ts b/packages/core/database/src/__tests__/hooks/hook.test.ts index e43f77a9ff..47296d76b3 100644 --- a/packages/core/database/src/__tests__/hooks/hook.test.ts +++ b/packages/core/database/src/__tests__/hooks/hook.test.ts @@ -7,14 +7,13 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { Database } from '../../database'; -import { mockDatabase } from '../'; +import { Database, createMockDatabase } from '@nocobase/database'; describe('hook', () => { let db: Database; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); }); diff --git a/packages/core/database/src/__tests__/inhertits/collection-inherits-sync.test.ts b/packages/core/database/src/__tests__/inhertits/collection-inherits-sync.test.ts index 85f40d3889..dea0b10391 100644 --- a/packages/core/database/src/__tests__/inhertits/collection-inherits-sync.test.ts +++ b/packages/core/database/src/__tests__/inhertits/collection-inherits-sync.test.ts @@ -7,14 +7,13 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import Database from '../../database'; -import { mockDatabase } from '../index'; +import { createMockDatabase, Database } from '@nocobase/database'; describe.runIf(process.env['DB_DIALECT'] === 'postgres')('sync inherits', () => { let db: Database; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); }); diff --git a/packages/core/database/src/__tests__/inhertits/collection-inherits.test.ts b/packages/core/database/src/__tests__/inhertits/collection-inherits.test.ts index 2a98ef844f..de6e88010e 100644 --- a/packages/core/database/src/__tests__/inhertits/collection-inherits.test.ts +++ b/packages/core/database/src/__tests__/inhertits/collection-inherits.test.ts @@ -7,17 +7,15 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { BelongsToManyRepository } from '@nocobase/database'; -import Database from '../../database'; -import { InheritedCollection } from '../../inherited-collection'; -import { mockDatabase } from '../index'; +import { BelongsToManyRepository, createMockDatabase, Database } from '@nocobase/database'; import { isPg } from '@nocobase/test'; +import { InheritedCollection } from '../../inherited-collection'; describe.runIf(isPg())('collection inherits', () => { let db: Database; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); }); diff --git a/packages/core/database/src/__tests__/interfaces/datetime-interface.test.ts b/packages/core/database/src/__tests__/interfaces/datetime-interface.test.ts index adcb237d4b..9b91fe4c84 100644 --- a/packages/core/database/src/__tests__/interfaces/datetime-interface.test.ts +++ b/packages/core/database/src/__tests__/interfaces/datetime-interface.test.ts @@ -7,18 +7,16 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { mockDatabase } from '..'; -import { Database } from '../../database'; -import { Collection } from '../../collection'; -import { DatetimeInterface } from '../../interfaces/datetime-interface'; +import { Collection, Database, createMockDatabase } from '@nocobase/database'; import dayjs from 'dayjs'; +import { DatetimeInterface } from '../../interfaces/datetime-interface'; describe('Date time interface', () => { let db: Database; let testCollection: Collection; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); testCollection = db.collection({ name: 'tests', diff --git a/packages/core/database/src/__tests__/interfaces/interface-manager.test.ts b/packages/core/database/src/__tests__/interfaces/interface-manager.test.ts index efdbd192df..39e4eb0075 100644 --- a/packages/core/database/src/__tests__/interfaces/interface-manager.test.ts +++ b/packages/core/database/src/__tests__/interfaces/interface-manager.test.ts @@ -7,15 +7,14 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { mockDatabase } from '..'; -import { Database } from '../../database'; +import { Database, createMockDatabase } from '@nocobase/database'; import { BaseInterface } from '../../interfaces/base-interface'; describe('interface manager', () => { let db: Database; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); }); diff --git a/packages/core/database/src/__tests__/interfaces/multiple-select-interface.test.ts b/packages/core/database/src/__tests__/interfaces/multiple-select-interface.test.ts index 4dde27ef52..a739a79552 100644 --- a/packages/core/database/src/__tests__/interfaces/multiple-select-interface.test.ts +++ b/packages/core/database/src/__tests__/interfaces/multiple-select-interface.test.ts @@ -7,15 +7,14 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { mockDatabase } from '..'; -import { Database } from '../../database'; +import { Database, createMockDatabase } from '@nocobase/database'; import { MultipleSelectInterface } from '../../interfaces/multiple-select-interface'; describe('MultipleSelectInterface', () => { let db: Database; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); }); diff --git a/packages/core/database/src/__tests__/interfaces/number-interface.test.ts b/packages/core/database/src/__tests__/interfaces/number-interface.test.ts index 340652952c..f86bbd7b61 100644 --- a/packages/core/database/src/__tests__/interfaces/number-interface.test.ts +++ b/packages/core/database/src/__tests__/interfaces/number-interface.test.ts @@ -7,15 +7,14 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { mockDatabase } from '..'; -import { Database } from '../../database'; +import { createMockDatabase, Database } from '@nocobase/database'; import { NumberInterface } from '../../interfaces/number-interface'; describe('number interface', () => { let db: Database; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); }); diff --git a/packages/core/database/src/__tests__/interfaces/percent-interface.test.ts b/packages/core/database/src/__tests__/interfaces/percent-interface.test.ts index fcf057f00e..fcb4d61b0b 100644 --- a/packages/core/database/src/__tests__/interfaces/percent-interface.test.ts +++ b/packages/core/database/src/__tests__/interfaces/percent-interface.test.ts @@ -7,15 +7,14 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { mockDatabase } from '..'; -import { Database } from '../../database'; +import { Database, createMockDatabase } from '@nocobase/database'; import { PercentInterface } from '../../interfaces/percent-interface'; describe('percent interface', () => { let db: Database; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); }); diff --git a/packages/core/database/src/__tests__/interfaces/select-interface.test.ts b/packages/core/database/src/__tests__/interfaces/select-interface.test.ts index afe50abe47..56d130e1a7 100644 --- a/packages/core/database/src/__tests__/interfaces/select-interface.test.ts +++ b/packages/core/database/src/__tests__/interfaces/select-interface.test.ts @@ -7,15 +7,14 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { mockDatabase } from '..'; -import { Database } from '../../database'; +import { Database, createMockDatabase } from '@nocobase/database'; import { SelectInterface } from '../../interfaces/select-interface'; describe('SelectInterface', () => { let db: Database; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); }); diff --git a/packages/core/database/src/__tests__/magic-attribute-model.test.ts b/packages/core/database/src/__tests__/magic-attribute-model.test.ts index 696c595f0e..c6a7d9a5dc 100644 --- a/packages/core/database/src/__tests__/magic-attribute-model.test.ts +++ b/packages/core/database/src/__tests__/magic-attribute-model.test.ts @@ -7,14 +7,13 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { mockDatabase } from '.'; -import { Database, MagicAttributeModel } from '..'; +import { createMockDatabase, Database, MagicAttributeModel } from '@nocobase/database'; describe('magic-attribute-model', () => { let db: Database; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); }); diff --git a/packages/core/database/src/__tests__/migrator.test.ts b/packages/core/database/src/__tests__/migrator.test.ts index 8deb9069b7..938f676169 100644 --- a/packages/core/database/src/__tests__/migrator.test.ts +++ b/packages/core/database/src/__tests__/migrator.test.ts @@ -7,9 +7,9 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { vi } from 'vitest'; -import { Database, Migration, mockDatabase } from '@nocobase/database'; +import { createMockDatabase, Database, Migration } from '@nocobase/database'; import { resolve } from 'path'; +import { vi } from 'vitest'; const names = (migrations: Array<{ name: string }>) => migrations.map((m) => m.name); @@ -17,7 +17,7 @@ describe('migrator', () => { let db: Database; beforeEach(async () => { - db = mockDatabase({ + db = await createMockDatabase({ tablePrefix: 'test_', }); diff --git a/packages/core/database/src/__tests__/model-hook.test.ts b/packages/core/database/src/__tests__/model-hook.test.ts index 4706064f69..203e74def6 100644 --- a/packages/core/database/src/__tests__/model-hook.test.ts +++ b/packages/core/database/src/__tests__/model-hook.test.ts @@ -7,14 +7,13 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { Database } from '..'; -import { mockDatabase } from '.'; +import { createMockDatabase, Database } from '@nocobase/database'; describe('model hook', () => { let db: Database; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); }); diff --git a/packages/core/database/src/__tests__/model.changedWithAssociations.test.ts b/packages/core/database/src/__tests__/model.changedWithAssociations.test.ts index fc2fb1ce97..97f7932e3a 100644 --- a/packages/core/database/src/__tests__/model.changedWithAssociations.test.ts +++ b/packages/core/database/src/__tests__/model.changedWithAssociations.test.ts @@ -7,14 +7,13 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import Database from '../database'; -import { mockDatabase } from '../mock-database'; +import { Database, createMockDatabase } from '@nocobase/database'; describe('changedWithAssociations', () => { let db: Database; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); }); diff --git a/packages/core/database/src/__tests__/model.test.ts b/packages/core/database/src/__tests__/model.test.ts index 9cd4531ec8..b141d80ddb 100644 --- a/packages/core/database/src/__tests__/model.test.ts +++ b/packages/core/database/src/__tests__/model.test.ts @@ -7,13 +7,13 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { Database, mockDatabase } from '@nocobase/database'; +import { createMockDatabase, Database } from '@nocobase/database'; describe('model', () => { let db: Database; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); }); diff --git a/packages/core/database/src/__tests__/non-id-primary-key.test.ts b/packages/core/database/src/__tests__/non-id-primary-key.test.ts index db25afc777..76b62834c8 100644 --- a/packages/core/database/src/__tests__/non-id-primary-key.test.ts +++ b/packages/core/database/src/__tests__/non-id-primary-key.test.ts @@ -7,13 +7,13 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { Database, mockDatabase } from '@nocobase/database'; +import { createMockDatabase, Database, mockDatabase } from '@nocobase/database'; describe('non-id primary key', () => { let db: Database; beforeEach(async () => { - db = mockDatabase({}); + db = await createMockDatabase({}); await db.clean({ drop: true }); }); diff --git a/packages/core/database/src/__tests__/operator/array-operator.test.ts b/packages/core/database/src/__tests__/operator/array-operator.test.ts index 08f988be93..455673124c 100644 --- a/packages/core/database/src/__tests__/operator/array-operator.test.ts +++ b/packages/core/database/src/__tests__/operator/array-operator.test.ts @@ -7,8 +7,7 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import Database from '../../database'; -import { mockDatabase } from '../index'; +import { createMockDatabase, Database } from '@nocobase/database'; describe('array field operator', function () { let db: Database; @@ -22,7 +21,7 @@ describe('array field operator', function () { }); beforeEach(async () => { - db = mockDatabase({}); + db = await createMockDatabase({}); await db.clean({ drop: true }); Test = db.collection({ diff --git a/packages/core/database/src/__tests__/operator/association-operator.test.ts b/packages/core/database/src/__tests__/operator/association-operator.test.ts index 4b44b597e8..e1c41e69e7 100644 --- a/packages/core/database/src/__tests__/operator/association-operator.test.ts +++ b/packages/core/database/src/__tests__/operator/association-operator.test.ts @@ -7,10 +7,7 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import Database from '../../database'; -import { Collection } from '../../collection'; - -import { mockDatabase } from '../index'; +import { Collection, Database, createMockDatabase } from '@nocobase/database'; describe('association operator', () => { let db: Database; @@ -27,7 +24,7 @@ describe('association operator', () => { }); beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); Group = db.collection({ name: 'groups', diff --git a/packages/core/database/src/__tests__/operator/boolean-operator.test.ts b/packages/core/database/src/__tests__/operator/boolean-operator.test.ts index 07352eb80b..72f25f8f9f 100644 --- a/packages/core/database/src/__tests__/operator/boolean-operator.test.ts +++ b/packages/core/database/src/__tests__/operator/boolean-operator.test.ts @@ -7,7 +7,7 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import Database, { Collection, mockDatabase } from '@nocobase/database'; +import Database, { Collection, createMockDatabase } from '@nocobase/database'; describe('boolean operator', () => { let db: Database; @@ -19,7 +19,7 @@ describe('boolean operator', () => { }); beforeEach(async () => { - db = mockDatabase({}); + db = await createMockDatabase({}); await db.clean({ drop: true }); diff --git a/packages/core/database/src/__tests__/operator/date/date-only.test.ts b/packages/core/database/src/__tests__/operator/date/date-only.test.ts index aa1690b148..8e127f374f 100644 --- a/packages/core/database/src/__tests__/operator/date/date-only.test.ts +++ b/packages/core/database/src/__tests__/operator/date/date-only.test.ts @@ -1,4 +1,13 @@ -import Database, { mockDatabase, Repository } from '../../../index'; +/** + * This file is part of the NocoBase (R) project. + * Copyright (c) 2020-2024 NocoBase Co., Ltd. + * Authors: NocoBase Team. + * + * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License. + * For more information, please refer to: https://www.nocobase.com/agreement. + */ + +import { createMockDatabase, Database, Repository } from '@nocobase/database'; describe('dateOnly operator', () => { let db: Database; @@ -10,7 +19,7 @@ describe('dateOnly operator', () => { }); beforeEach(async () => { - db = mockDatabase({ + db = await createMockDatabase({ timezone: '+08:00', }); diff --git a/packages/core/database/src/__tests__/operator/date/datetime-no-tz.test.ts b/packages/core/database/src/__tests__/operator/date/datetime-no-tz.test.ts index 24a1d6005c..6f6d833751 100644 --- a/packages/core/database/src/__tests__/operator/date/datetime-no-tz.test.ts +++ b/packages/core/database/src/__tests__/operator/date/datetime-no-tz.test.ts @@ -1,4 +1,13 @@ -import Database, { mockDatabase, Repository } from '../../../index'; +/** + * This file is part of the NocoBase (R) project. + * Copyright (c) 2020-2024 NocoBase Co., Ltd. + * Authors: NocoBase Team. + * + * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License. + * For more information, please refer to: https://www.nocobase.com/agreement. + */ + +import { createMockDatabase, Database, Repository } from '@nocobase/database'; describe('datetimeNoTz date operator test', () => { let db: Database; @@ -10,7 +19,7 @@ describe('datetimeNoTz date operator test', () => { }); beforeEach(async () => { - db = mockDatabase({ + db = await createMockDatabase({ timezone: '+00:00', }); diff --git a/packages/core/database/src/__tests__/operator/date/datetime-tz.test.ts b/packages/core/database/src/__tests__/operator/date/datetime-tz.test.ts index b722f2437e..d819dde14f 100644 --- a/packages/core/database/src/__tests__/operator/date/datetime-tz.test.ts +++ b/packages/core/database/src/__tests__/operator/date/datetime-tz.test.ts @@ -7,9 +7,7 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import Database from '../../../database'; -import { Repository } from '../../../repository'; -import { mockDatabase } from '../../index'; +import { Database, Repository, createMockDatabase } from '@nocobase/database'; describe('date operator test', () => { let db: Database; @@ -21,7 +19,7 @@ describe('date operator test', () => { }); beforeEach(async () => { - db = mockDatabase({ + db = await createMockDatabase({ timezone: '+00:00', }); await db.clean({ drop: true }); diff --git a/packages/core/database/src/__tests__/operator/date/unix-timestamp.test.ts b/packages/core/database/src/__tests__/operator/date/unix-timestamp.test.ts index 16bcde85ea..4906fbf791 100644 --- a/packages/core/database/src/__tests__/operator/date/unix-timestamp.test.ts +++ b/packages/core/database/src/__tests__/operator/date/unix-timestamp.test.ts @@ -1,4 +1,13 @@ -import Database, { mockDatabase, Repository } from '../../../index'; +/** + * This file is part of the NocoBase (R) project. + * Copyright (c) 2020-2024 NocoBase Co., Ltd. + * Authors: NocoBase Team. + * + * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License. + * For more information, please refer to: https://www.nocobase.com/agreement. + */ + +import { createMockDatabase, Database, Repository } from '@nocobase/database'; describe('unix timestamp date operator test', () => { let db: Database; @@ -10,7 +19,7 @@ describe('unix timestamp date operator test', () => { }); beforeEach(async () => { - db = mockDatabase({ + db = await createMockDatabase({ timezone: '+00:00', }); diff --git a/packages/core/database/src/__tests__/operator/empty-operator.test.ts b/packages/core/database/src/__tests__/operator/empty-operator.test.ts index 101f885e42..8134b0d05b 100644 --- a/packages/core/database/src/__tests__/operator/empty-operator.test.ts +++ b/packages/core/database/src/__tests__/operator/empty-operator.test.ts @@ -7,10 +7,7 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import Database from '../../database'; -import { Collection } from '../../collection'; - -import { mockDatabase } from '../index'; +import { Collection, createMockDatabase, Database } from '@nocobase/database'; describe('empty operator', () => { let db: Database; @@ -22,7 +19,7 @@ describe('empty operator', () => { }); beforeEach(async () => { - db = mockDatabase({}); + db = await createMockDatabase({}); User = db.collection({ name: 'users', fields: [ diff --git a/packages/core/database/src/__tests__/operator/eq.test.ts b/packages/core/database/src/__tests__/operator/eq.test.ts index d4435ec82c..a265ebfc59 100644 --- a/packages/core/database/src/__tests__/operator/eq.test.ts +++ b/packages/core/database/src/__tests__/operator/eq.test.ts @@ -7,15 +7,14 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import Database from '../../database'; -import { mockDatabase } from '../index'; +import { createMockDatabase, Database } from '@nocobase/database'; describe('eq operator', () => { let db: Database; let Test; beforeEach(async () => { - db = mockDatabase({}); + db = await createMockDatabase({}); await db.clean({ drop: true }); Test = db.collection({ diff --git a/packages/core/database/src/__tests__/operator/ne.test.ts b/packages/core/database/src/__tests__/operator/ne.test.ts index 0b9114d519..9ad276ed35 100644 --- a/packages/core/database/src/__tests__/operator/ne.test.ts +++ b/packages/core/database/src/__tests__/operator/ne.test.ts @@ -7,14 +7,13 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import Database from '../../database'; -import { mockDatabase } from '../index'; +import { Database, createMockDatabase } from '@nocobase/database'; describe('ne operator', () => { let db: Database; let Test; beforeEach(async () => { - db = mockDatabase({}); + db = await createMockDatabase({}); await db.clean({ drop: true }); Test = db.collection({ diff --git a/packages/core/database/src/__tests__/operator/notIn.test.ts b/packages/core/database/src/__tests__/operator/notIn.test.ts index 65ba6f28fc..758b964d9b 100644 --- a/packages/core/database/src/__tests__/operator/notIn.test.ts +++ b/packages/core/database/src/__tests__/operator/notIn.test.ts @@ -7,14 +7,13 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { mockDatabase } from '../index'; -import Database from '../../database'; +import { Database, createMockDatabase } from '@nocobase/database'; describe('ne operator', () => { let db: Database; let Test; beforeEach(async () => { - db = mockDatabase({}); + db = await createMockDatabase({}); await db.clean({ drop: true }); Test = db.collection({ diff --git a/packages/core/database/src/__tests__/operator/string-operator.test.ts b/packages/core/database/src/__tests__/operator/string-operator.test.ts index 69d57bbea3..f9eef50523 100644 --- a/packages/core/database/src/__tests__/operator/string-operator.test.ts +++ b/packages/core/database/src/__tests__/operator/string-operator.test.ts @@ -7,7 +7,7 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import Database, { Collection, mockDatabase } from '@nocobase/database'; +import Database, { Collection, createMockDatabase } from '@nocobase/database'; describe('string operator', () => { let db: Database; @@ -19,7 +19,7 @@ describe('string operator', () => { }); beforeEach(async () => { - db = mockDatabase({}); + db = await createMockDatabase({}); await db.clean({ drop: true }); diff --git a/packages/core/database/src/__tests__/option-parser.test.ts b/packages/core/database/src/__tests__/option-parser.test.ts index 165415580a..0f233de8b2 100644 --- a/packages/core/database/src/__tests__/option-parser.test.ts +++ b/packages/core/database/src/__tests__/option-parser.test.ts @@ -7,10 +7,8 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { Collection } from '../collection'; -import { Database } from '../database'; +import { Collection, createMockDatabase, Database } from '@nocobase/database'; import { OptionsParser } from '../options-parser'; -import { mockDatabase } from './index'; describe('option parser', () => { let db: Database; @@ -20,7 +18,7 @@ describe('option parser', () => { let Tag: Collection; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); User = db.collection<{ id: number; name: string }, { name: string }>({ name: 'users', diff --git a/packages/core/database/src/__tests__/postgres/schema.test.ts b/packages/core/database/src/__tests__/postgres/schema.test.ts index a2838ae35d..08e550f302 100644 --- a/packages/core/database/src/__tests__/postgres/schema.test.ts +++ b/packages/core/database/src/__tests__/postgres/schema.test.ts @@ -7,8 +7,7 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { mockDatabase } from '../index'; -import { Database } from '../../database'; +import { Database, createMockDatabase } from '@nocobase/database'; import { randomStr } from '@nocobase/test'; describe('auth', () => { @@ -22,7 +21,7 @@ describe('auth', () => { it('should auto create schema on prepare when schema missing', async () => { const schemaName = randomStr(); - db = mockDatabase({ + db = await createMockDatabase({ schema: schemaName, }); @@ -45,7 +44,7 @@ describe('postgres schema', () => { let db: Database; beforeEach(async () => { - db = mockDatabase({ + db = await createMockDatabase({ schema: 'test_schema', }); diff --git a/packages/core/database/src/__tests__/query-interface/query-interface.test.ts b/packages/core/database/src/__tests__/query-interface/query-interface.test.ts index 887cf447a9..4aea44e856 100644 --- a/packages/core/database/src/__tests__/query-interface/query-interface.test.ts +++ b/packages/core/database/src/__tests__/query-interface/query-interface.test.ts @@ -7,13 +7,13 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { Database, mockDatabase } from '@nocobase/database'; +import { createMockDatabase, Database } from '@nocobase/database'; describe.runIf(process.env.DB_DIALECT === 'mysql')('mysql', async () => { let db: Database; beforeEach(async () => { - db = mockDatabase({ + db = await createMockDatabase({ logging: console.log, }); @@ -50,7 +50,7 @@ describe('query interface', async () => { let db: Database; beforeEach(async () => { - db = mockDatabase({ + db = await createMockDatabase({ logging: console.log, }); diff --git a/packages/core/database/src/__tests__/relation-repository/appends.test.ts b/packages/core/database/src/__tests__/relation-repository/appends.test.ts index 48a0858125..2ffbde33e8 100644 --- a/packages/core/database/src/__tests__/relation-repository/appends.test.ts +++ b/packages/core/database/src/__tests__/relation-repository/appends.test.ts @@ -7,7 +7,7 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import Database, { BelongsToRepository, Collection, mockDatabase } from '@nocobase/database'; +import { BelongsToRepository, Collection, createMockDatabase, Database } from '@nocobase/database'; describe('appends', () => { let db: Database; @@ -23,7 +23,7 @@ describe('appends', () => { }); beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); User = db.collection({ diff --git a/packages/core/database/src/__tests__/relation-repository/belongs-to-many-repository.test.ts b/packages/core/database/src/__tests__/relation-repository/belongs-to-many-repository.test.ts index 0e568824f0..6ef9c240c6 100644 --- a/packages/core/database/src/__tests__/relation-repository/belongs-to-many-repository.test.ts +++ b/packages/core/database/src/__tests__/relation-repository/belongs-to-many-repository.test.ts @@ -7,10 +7,7 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { Collection } from '@nocobase/database'; -import Database from '../../database'; -import { BelongsToManyRepository } from '../../relation-repository/belongs-to-many-repository'; -import { mockDatabase } from '../index'; +import { BelongsToManyRepository, Collection, createMockDatabase, Database } from '@nocobase/database'; import { pgOnly } from '@nocobase/test'; pgOnly()('belongs to many with targetCollection', () => { @@ -23,7 +20,7 @@ pgOnly()('belongs to many with targetCollection', () => { let OrgUser: Collection; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); @@ -98,7 +95,7 @@ pgOnly()('belongs to many with targetCollection', () => { describe('belongs to many with collection that has no id key', () => { let db: Database; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); }); @@ -184,7 +181,7 @@ describe('belongs to many with target key', function () { let Color: Collection; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); Post = db.collection({ @@ -320,7 +317,7 @@ describe('belongs to many', () => { let Color; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); PostTag = db.collection({ name: 'posts_tags', diff --git a/packages/core/database/src/__tests__/relation-repository/belongs-to-repository.test.ts b/packages/core/database/src/__tests__/relation-repository/belongs-to-repository.test.ts index 332967733a..539e48fb7f 100644 --- a/packages/core/database/src/__tests__/relation-repository/belongs-to-repository.test.ts +++ b/packages/core/database/src/__tests__/relation-repository/belongs-to-repository.test.ts @@ -1,7 +1,13 @@ -import { Collection } from '@nocobase/database'; -import Database from '../../database'; -import { BelongsToRepository } from '../../relation-repository/belongs-to-repository'; -import { mockDatabase } from '../index'; +/** + * This file is part of the NocoBase (R) project. + * Copyright (c) 2020-2024 NocoBase Co., Ltd. + * Authors: NocoBase Team. + * + * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License. + * For more information, please refer to: https://www.nocobase.com/agreement. + */ + +import { BelongsToRepository, Collection, createMockDatabase, Database } from '@nocobase/database'; describe('belongs to repository', () => { let db: Database; @@ -9,7 +15,7 @@ describe('belongs to repository', () => { let Post: Collection; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); User = db.collection({ diff --git a/packages/core/database/src/__tests__/relation-repository/has-many-repository.test.ts b/packages/core/database/src/__tests__/relation-repository/has-many-repository.test.ts index c7b5cff062..78793cc356 100644 --- a/packages/core/database/src/__tests__/relation-repository/has-many-repository.test.ts +++ b/packages/core/database/src/__tests__/relation-repository/has-many-repository.test.ts @@ -7,10 +7,12 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { mockDatabase } from '../index'; -import { HasManyRepository } from '../../relation-repository/hasmany-repository'; -import { BelongsToManyRepository } from '../../relation-repository/belongs-to-many-repository'; -import Database, { Collection } from '@nocobase/database'; +import Database, { + BelongsToManyRepository, + Collection, + createMockDatabase, + HasManyRepository, +} from '@nocobase/database'; describe('has many with target key', function () { let db: Database; @@ -19,7 +21,7 @@ describe('has many with target key', function () { }); beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); }); @@ -142,7 +144,7 @@ describe('has many repository', () => { }); beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); User = db.collection({ name: 'users', diff --git a/packages/core/database/src/__tests__/relation-repository/has-one-repository.test.ts b/packages/core/database/src/__tests__/relation-repository/has-one-repository.test.ts index 0b913f696f..c4258746b2 100644 --- a/packages/core/database/src/__tests__/relation-repository/has-one-repository.test.ts +++ b/packages/core/database/src/__tests__/relation-repository/has-one-repository.test.ts @@ -1,7 +1,13 @@ -import { Collection } from '@nocobase/database'; -import Database from '../../database'; -import { HasOneRepository } from '../../relation-repository/hasone-repository'; -import { mockDatabase } from '../index'; +/** + * This file is part of the NocoBase (R) project. + * Copyright (c) 2020-2024 NocoBase Co., Ltd. + * Authors: NocoBase Team. + * + * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License. + * For more information, please refer to: https://www.nocobase.com/agreement. + */ + +import { Collection, createMockDatabase, Database, HasOneRepository } from '@nocobase/database'; describe('has one repository', () => { let db: Database; @@ -9,7 +15,7 @@ describe('has one repository', () => { let Profile: Collection; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); User = db.collection({ diff --git a/packages/core/database/src/__tests__/relation-repository/hasone-repository.test.ts b/packages/core/database/src/__tests__/relation-repository/hasone-repository.test.ts index 389bb22ad7..ddd15f8d5a 100644 --- a/packages/core/database/src/__tests__/relation-repository/hasone-repository.test.ts +++ b/packages/core/database/src/__tests__/relation-repository/hasone-repository.test.ts @@ -7,10 +7,7 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { Collection } from '../../collection'; -import Database from '../../database'; -import { HasOneRepository } from '../../relation-repository/hasone-repository'; -import { mockDatabase } from '../index'; +import { Collection, Database, HasOneRepository, createMockDatabase } from '@nocobase/database'; describe('has one repository', () => { let db: Database; @@ -26,7 +23,7 @@ describe('has one repository', () => { }); beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); User = db.collection({ name: 'users', fields: [ diff --git a/packages/core/database/src/__tests__/relation-repository/multi-filter-target-key.test.ts b/packages/core/database/src/__tests__/relation-repository/multi-filter-target-key.test.ts index 0b6790c452..4cd46d1b0b 100644 --- a/packages/core/database/src/__tests__/relation-repository/multi-filter-target-key.test.ts +++ b/packages/core/database/src/__tests__/relation-repository/multi-filter-target-key.test.ts @@ -7,12 +7,13 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import Database, { HasManyRepository, mockDatabase } from '../../index'; +import { Database, HasManyRepository, createMockDatabase } from '@nocobase/database'; + describe('multi target key in association repository', () => { let db: Database; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); }); diff --git a/packages/core/database/src/__tests__/relation-repository/relation-repository.test.ts b/packages/core/database/src/__tests__/relation-repository/relation-repository.test.ts index 29d0b51a53..92486eaa8c 100644 --- a/packages/core/database/src/__tests__/relation-repository/relation-repository.test.ts +++ b/packages/core/database/src/__tests__/relation-repository/relation-repository.test.ts @@ -7,12 +7,12 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { MockDatabase, mockDatabase } from '../../mock-database'; +import { createMockDatabase, MockDatabase } from '@nocobase/database'; describe('relation repository', () => { let db: MockDatabase; - beforeEach(() => { - db = mockDatabase(); + beforeEach(async () => { + db = await createMockDatabase(); }); afterEach(async () => { diff --git a/packages/core/database/src/__tests__/repository.test.ts b/packages/core/database/src/__tests__/repository.test.ts index 4229ea5095..d878829014 100644 --- a/packages/core/database/src/__tests__/repository.test.ts +++ b/packages/core/database/src/__tests__/repository.test.ts @@ -7,11 +7,8 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { Repository } from '@nocobase/database'; +import { Collection, createMockDatabase, Database, Repository } from '@nocobase/database'; import { vi } from 'vitest'; -import { Collection } from '../collection'; -import { Database } from '../database'; -import { mockDatabase } from './'; describe('repository', () => { test('value to filter', async () => { @@ -39,7 +36,7 @@ describe('find by targetKey', function () { let db: Database; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); }); @@ -91,7 +88,7 @@ describe('repository.find', () => { let Tag: Collection; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); User = db.collection({ name: 'users', @@ -284,7 +281,7 @@ describe('repository create with belongs to many', () => { let db: Database; beforeEach(async () => { - db = mockDatabase({ + db = await createMockDatabase({ tablePrefix: '', }); await db.clean({ drop: true }); @@ -363,7 +360,7 @@ describe('repository.create', () => { let Comment: Collection; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); User = db.collection({ name: 'users', @@ -434,7 +431,7 @@ describe('repository.update', () => { let Comment: Collection; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); User = db.collection({ @@ -687,7 +684,7 @@ describe('repository.destroy', () => { let Comment: Collection; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); User = db.collection({ name: 'users', @@ -755,7 +752,7 @@ describe('repository.relatedQuery', () => { let Comment: Collection; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); User = db.collection({ name: 'users', diff --git a/packages/core/database/src/__tests__/repository/aggregation.test.ts b/packages/core/database/src/__tests__/repository/aggregation.test.ts index bea0273b92..774c5e135c 100644 --- a/packages/core/database/src/__tests__/repository/aggregation.test.ts +++ b/packages/core/database/src/__tests__/repository/aggregation.test.ts @@ -7,9 +7,13 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { BelongsToManyRepository, HasManyRepository, mockDatabase } from '../../index'; -import Database from '../../database'; -import { Collection } from '../../collection'; +import { + BelongsToManyRepository, + Collection, + Database, + HasManyRepository, + createMockDatabase, +} from '@nocobase/database'; describe('association aggregation', () => { let db: Database; @@ -23,7 +27,7 @@ describe('association aggregation', () => { }); beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); User = db.collection({ @@ -240,7 +244,7 @@ describe('Aggregation', () => { }); beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); User = db.collection({ diff --git a/packages/core/database/src/__tests__/repository/chunk.test.ts b/packages/core/database/src/__tests__/repository/chunk.test.ts index e04d358353..9f6bb0b93b 100644 --- a/packages/core/database/src/__tests__/repository/chunk.test.ts +++ b/packages/core/database/src/__tests__/repository/chunk.test.ts @@ -7,9 +7,7 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { mockDatabase } from '../index'; -import Database from '../../database'; -import { Collection } from '../../collection'; +import { Collection, createMockDatabase, Database } from '@nocobase/database'; import { vi } from 'vitest'; describe('repository chunk', () => { @@ -22,7 +20,7 @@ describe('repository chunk', () => { }); beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); diff --git a/packages/core/database/src/__tests__/repository/count.test.ts b/packages/core/database/src/__tests__/repository/count.test.ts index ac92ea3bce..6d23f9d91a 100644 --- a/packages/core/database/src/__tests__/repository/count.test.ts +++ b/packages/core/database/src/__tests__/repository/count.test.ts @@ -7,9 +7,7 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { mockDatabase } from '../index'; -import { HasManyRepository } from '../../relation-repository/hasmany-repository'; -import { Collection } from '../../collection'; +import { Collection, HasManyRepository, createMockDatabase } from '@nocobase/database'; describe('count', () => { let db; @@ -22,7 +20,7 @@ describe('count', () => { }); beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); User = db.collection({ diff --git a/packages/core/database/src/__tests__/repository/create.test.ts b/packages/core/database/src/__tests__/repository/create.test.ts index bc63f6bdf9..1dcc3918b6 100644 --- a/packages/core/database/src/__tests__/repository/create.test.ts +++ b/packages/core/database/src/__tests__/repository/create.test.ts @@ -7,9 +7,7 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { mockDatabase } from '../index'; -import Database from '../../database'; -import { Collection } from '../../collection'; +import { Collection, createMockDatabase, Database } from '@nocobase/database'; describe('create with hasMany', () => { let db: Database; @@ -21,7 +19,7 @@ describe('create with hasMany', () => { }); beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); User = db.collection({ @@ -79,7 +77,7 @@ describe('create with belongsToMany', () => { }); beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); Post = db.collection({ name: 'posts', @@ -139,7 +137,7 @@ describe('create', () => { let Role: Collection; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); Group = db.collection({ diff --git a/packages/core/database/src/__tests__/repository/destroy.test.ts b/packages/core/database/src/__tests__/repository/destroy.test.ts index ef4cfca4a0..38e5834345 100644 --- a/packages/core/database/src/__tests__/repository/destroy.test.ts +++ b/packages/core/database/src/__tests__/repository/destroy.test.ts @@ -7,9 +7,7 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { mockDatabase } from '../index'; -import { Collection } from '../../collection'; -import { Database } from '@nocobase/database'; +import { Collection, createMockDatabase, Database } from '@nocobase/database'; describe('destroy with targetKey', function () { let db: Database; @@ -21,7 +19,7 @@ describe('destroy with targetKey', function () { }); beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); User = db.collection({ name: 'users', @@ -95,7 +93,7 @@ describe('destroy', () => { }); beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true, }); diff --git a/packages/core/database/src/__tests__/repository/find-with-collection-without-pk.test.ts b/packages/core/database/src/__tests__/repository/find-with-collection-without-pk.test.ts index 36d4a91f51..093377e0ae 100644 --- a/packages/core/database/src/__tests__/repository/find-with-collection-without-pk.test.ts +++ b/packages/core/database/src/__tests__/repository/find-with-collection-without-pk.test.ts @@ -7,14 +7,13 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import Database from '../../database'; -import { mockDatabase } from '../index'; +import { Database, createMockDatabase } from '@nocobase/database'; describe('find collection that without primary key', () => { let db: Database; beforeAll(async () => { - db = mockDatabase({ + db = await createMockDatabase({ tablePrefix: '', }); diff --git a/packages/core/database/src/__tests__/repository/find.test.ts b/packages/core/database/src/__tests__/repository/find.test.ts index 824271b34c..b91c35de33 100644 --- a/packages/core/database/src/__tests__/repository/find.test.ts +++ b/packages/core/database/src/__tests__/repository/find.test.ts @@ -7,15 +7,13 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { mockDatabase } from '../index'; -import Database from '@nocobase/database'; -import { Collection } from '../../collection'; +import { Collection, createMockDatabase, Database } from '@nocobase/database'; import qs from 'qs'; describe('find with associations', () => { let db: Database; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); }); @@ -573,7 +571,7 @@ describe('repository find', () => { }); beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); User = db.collection<{ id: number; name: string }, { name: string }>({ name: 'users', diff --git a/packages/core/database/src/__tests__/repository/update-many.test.ts b/packages/core/database/src/__tests__/repository/update-many.test.ts index 9c24b4b235..60091326fa 100644 --- a/packages/core/database/src/__tests__/repository/update-many.test.ts +++ b/packages/core/database/src/__tests__/repository/update-many.test.ts @@ -7,7 +7,7 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { Database, mockDatabase } from '@nocobase/database'; +import { Database, createMockDatabase } from '@nocobase/database'; describe('update many', () => { let db: Database; @@ -16,7 +16,7 @@ describe('update many', () => { }); beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); db.collection({ diff --git a/packages/core/database/src/__tests__/repository/update.test.ts b/packages/core/database/src/__tests__/repository/update.test.ts index e9e03c59e6..61e554fbf1 100644 --- a/packages/core/database/src/__tests__/repository/update.test.ts +++ b/packages/core/database/src/__tests__/repository/update.test.ts @@ -7,7 +7,7 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { Collection, Database, mockDatabase } from '@nocobase/database'; +import { Collection, Database, createMockDatabase } from '@nocobase/database'; describe('update', () => { let db: Database; @@ -20,7 +20,7 @@ describe('update', () => { }); beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); PostTag = db.collection({ diff --git a/packages/core/database/src/__tests__/sequelize-hooks.test.ts b/packages/core/database/src/__tests__/sequelize-hooks.test.ts index b6846f520c..1d103caf1a 100644 --- a/packages/core/database/src/__tests__/sequelize-hooks.test.ts +++ b/packages/core/database/src/__tests__/sequelize-hooks.test.ts @@ -7,16 +7,15 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ +import { Database, createMockDatabase } from '@nocobase/database'; import { vi } from 'vitest'; -import { Database } from '../database'; -import { mockDatabase } from './index'; // TODO describe('sequelize-hooks', () => { let db: Database; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); await db.sync(); }); diff --git a/packages/core/database/src/__tests__/sort.test.ts b/packages/core/database/src/__tests__/sort.test.ts index e69f8b79f7..4fec649c63 100644 --- a/packages/core/database/src/__tests__/sort.test.ts +++ b/packages/core/database/src/__tests__/sort.test.ts @@ -7,14 +7,13 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { Database } from '../database'; -import { mockDatabase } from './'; +import { createMockDatabase, Database } from '@nocobase/database'; describe('sort', function () { let db: Database; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); }); diff --git a/packages/core/database/src/__tests__/sync.test.ts b/packages/core/database/src/__tests__/sync.test.ts index c6991f45eb..b785480ab8 100644 --- a/packages/core/database/src/__tests__/sync.test.ts +++ b/packages/core/database/src/__tests__/sync.test.ts @@ -7,14 +7,14 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ +import { createMockDatabase, Database } from '@nocobase/database'; import { vi } from 'vitest'; -import { Database, mockDatabase } from '@nocobase/database'; describe('sync', () => { let db: Database; beforeEach(async () => { - db = mockDatabase({ + db = await createMockDatabase({ logging: console.log, }); diff --git a/packages/core/database/src/__tests__/sync/default-value.test.ts b/packages/core/database/src/__tests__/sync/default-value.test.ts index ebf880ef73..6485b3771d 100644 --- a/packages/core/database/src/__tests__/sync/default-value.test.ts +++ b/packages/core/database/src/__tests__/sync/default-value.test.ts @@ -7,13 +7,13 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { Database, mockDatabase } from '../../index'; +import { Database, createMockDatabase } from '@nocobase/database'; describe('default value', () => { let db: Database; beforeEach(async () => { - db = mockDatabase({}); + db = await createMockDatabase({}); await db.clean({ drop: true }); }); diff --git a/packages/core/database/src/__tests__/sync/delete-field.test.ts b/packages/core/database/src/__tests__/sync/delete-field.test.ts index e30f507c0e..fb2e523487 100644 --- a/packages/core/database/src/__tests__/sync/delete-field.test.ts +++ b/packages/core/database/src/__tests__/sync/delete-field.test.ts @@ -7,13 +7,13 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { Database, mockDatabase } from '../../index'; +import { createMockDatabase, Database } from '@nocobase/database'; describe.skip('delete field', () => { let db: Database; beforeEach(async () => { - db = mockDatabase({}); + db = await createMockDatabase({}); await db.clean({ drop: true }); }); diff --git a/packages/core/database/src/__tests__/sync/empty-table.test.ts b/packages/core/database/src/__tests__/sync/empty-table.test.ts index 6a31931fa6..5daf459be5 100644 --- a/packages/core/database/src/__tests__/sync/empty-table.test.ts +++ b/packages/core/database/src/__tests__/sync/empty-table.test.ts @@ -7,7 +7,7 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { Database, mockDatabase } from '@nocobase/database'; +import { createMockDatabase, Database } from '@nocobase/database'; import * as process from 'process'; describe('empty table', () => { @@ -20,7 +20,7 @@ describe('empty table', () => { }; beforeEach(async () => { - db = mockDatabase({}); + db = await createMockDatabase({}); await db.clean({ drop: true }); }); diff --git a/packages/core/database/src/__tests__/sync/foreign-key.test.ts b/packages/core/database/src/__tests__/sync/foreign-key.test.ts index 730a5d58e7..319ebc176f 100644 --- a/packages/core/database/src/__tests__/sync/foreign-key.test.ts +++ b/packages/core/database/src/__tests__/sync/foreign-key.test.ts @@ -7,14 +7,13 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { primaryKey } from '@nocobase/client'; -import { Database, mockDatabase } from '@nocobase/database'; +import { Database, createMockDatabase } from '@nocobase/database'; describe('foreign key', () => { let db: Database; beforeEach(async () => { - db = mockDatabase({}); + db = await createMockDatabase({}); await db.clean({ drop: true }); }); diff --git a/packages/core/database/src/__tests__/sync/primary-key.test.ts b/packages/core/database/src/__tests__/sync/primary-key.test.ts index 2b30c64df6..a8630e5405 100644 --- a/packages/core/database/src/__tests__/sync/primary-key.test.ts +++ b/packages/core/database/src/__tests__/sync/primary-key.test.ts @@ -7,14 +7,14 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { Database, mockDatabase } from '../../index'; +import { createMockDatabase, Database } from '@nocobase/database'; import * as process from 'process'; describe('primary key', () => { let db: Database; beforeEach(async () => { - db = mockDatabase({}); + db = await createMockDatabase({}); await db.clean({ drop: true }); }); @@ -89,7 +89,7 @@ describe.skipIf(process.env['DB_DIALECT'] === 'sqlite')('primary key not in sqli let db: Database; beforeEach(async () => { - db = mockDatabase({}); + db = await createMockDatabase({}); await db.clean({ drop: true }); }); diff --git a/packages/core/database/src/__tests__/sync/unique-index.test.ts b/packages/core/database/src/__tests__/sync/unique-index.test.ts index 1e717aece2..7c852b55fe 100644 --- a/packages/core/database/src/__tests__/sync/unique-index.test.ts +++ b/packages/core/database/src/__tests__/sync/unique-index.test.ts @@ -7,14 +7,14 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { Database, mockDatabase } from '../../index'; +import { Database, createMockDatabase } from '@nocobase/database'; import { waitSecond } from '@nocobase/test'; describe('unique index', () => { let db: Database; beforeEach(async () => { - db = mockDatabase({}); + db = await createMockDatabase({}); await db.clean({ drop: true }); }); diff --git a/packages/core/database/src/__tests__/target-key.test.ts b/packages/core/database/src/__tests__/target-key.test.ts index ff040d2deb..6cb5a917ff 100644 --- a/packages/core/database/src/__tests__/target-key.test.ts +++ b/packages/core/database/src/__tests__/target-key.test.ts @@ -7,14 +7,13 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { Database } from '../database'; -import { mockDatabase } from './index'; +import { createMockDatabase, Database } from '@nocobase/database'; describe('targetKey', () => { let db: Database; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); }); diff --git a/packages/core/database/src/__tests__/underscored-options.test.ts b/packages/core/database/src/__tests__/underscored-options.test.ts index 78f0ef5668..9b3accbe14 100644 --- a/packages/core/database/src/__tests__/underscored-options.test.ts +++ b/packages/core/database/src/__tests__/underscored-options.test.ts @@ -7,13 +7,13 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { Database, mockDatabase } from '@nocobase/database'; +import { createMockDatabase, Database } from '@nocobase/database'; describe('underscored options', () => { let db: Database; beforeEach(async () => { - db = mockDatabase({ + db = await createMockDatabase({ underscored: true, }); diff --git a/packages/core/database/src/__tests__/unique.test.ts b/packages/core/database/src/__tests__/unique.test.ts index 19589105b3..5947400e58 100644 --- a/packages/core/database/src/__tests__/unique.test.ts +++ b/packages/core/database/src/__tests__/unique.test.ts @@ -7,13 +7,13 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { Database, mockDatabase } from '@nocobase/database'; +import { createMockDatabase, Database } from '@nocobase/database'; describe('unique field', () => { let db: Database; beforeEach(async () => { - db = mockDatabase({ + db = await createMockDatabase({ logging: console.log, }); diff --git a/packages/core/database/src/__tests__/update-association-values.test.ts b/packages/core/database/src/__tests__/update-association-values.test.ts index 0948ece271..536629fcd8 100644 --- a/packages/core/database/src/__tests__/update-association-values.test.ts +++ b/packages/core/database/src/__tests__/update-association-values.test.ts @@ -7,13 +7,12 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { Database } from '../database'; -import { mockDatabase } from './'; +import { Database, createMockDatabase } from '@nocobase/database'; describe('update associations', () => { let db: Database; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); }); diff --git a/packages/core/database/src/__tests__/update-associations-source-key.test.ts b/packages/core/database/src/__tests__/update-associations-source-key.test.ts index 8f584fe0b6..af86808fa7 100644 --- a/packages/core/database/src/__tests__/update-associations-source-key.test.ts +++ b/packages/core/database/src/__tests__/update-associations-source-key.test.ts @@ -7,9 +7,7 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { Collection } from '../collection'; -import Database from '../database'; -import { mockDatabase } from '../mock-database'; +import { Collection, Database, createMockDatabase } from '@nocobase/database'; describe('update associations', () => { let db: Database; @@ -17,7 +15,7 @@ describe('update associations', () => { let Post: Collection; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); User = db.collection({ name: 'users', @@ -97,7 +95,7 @@ describe('update associations', () => { let Post: Collection; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); User = db.collection({ name: 'users', @@ -174,7 +172,7 @@ describe('update associations', () => { let Field: Collection; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); Table = db.collection({ name: 'table', diff --git a/packages/core/database/src/__tests__/update-associations-through.test.ts b/packages/core/database/src/__tests__/update-associations-through.test.ts index 0f05e10b16..ba51b4ff4b 100644 --- a/packages/core/database/src/__tests__/update-associations-through.test.ts +++ b/packages/core/database/src/__tests__/update-associations-through.test.ts @@ -7,14 +7,13 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ +import { createMockDatabase, Database } from '@nocobase/database'; import { vi } from 'vitest'; -import { Database } from '../database'; -import { mockDatabase } from './'; describe('update through', () => { let db: Database; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); }); diff --git a/packages/core/database/src/__tests__/update-associations.test.ts b/packages/core/database/src/__tests__/update-associations.test.ts index cd458586b3..a54f4160f8 100644 --- a/packages/core/database/src/__tests__/update-associations.test.ts +++ b/packages/core/database/src/__tests__/update-associations.test.ts @@ -7,16 +7,13 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { Collection } from '../collection'; -import { Database } from '../database'; -import { updateAssociations } from '../update-associations'; -import { mockDatabase } from './'; +import { Collection, createMockDatabase, Database, updateAssociations } from '@nocobase/database'; describe('update associations', () => { describe('belongsTo', () => { let db: Database; beforeEach(async () => { - db = mockDatabase({}); + db = await createMockDatabase({}); await db.clean({ drop: true, }); @@ -304,7 +301,7 @@ describe('update associations', () => { let User: Collection; let Post: Collection; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); User = db.collection({ name: 'users', @@ -474,7 +471,7 @@ describe('update associations', () => { let Comment: Collection; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); User = db.collection({ name: 'users', @@ -592,7 +589,7 @@ describe('update associations', () => { let PostTag: Collection; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); PostTag = db.collection({ name: 'posts_tags', diff --git a/packages/core/database/src/__tests__/update-guard.test.ts b/packages/core/database/src/__tests__/update-guard.test.ts index 7ed1a8df00..5f31913071 100644 --- a/packages/core/database/src/__tests__/update-guard.test.ts +++ b/packages/core/database/src/__tests__/update-guard.test.ts @@ -7,11 +7,9 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { Collection } from '../collection'; -import { mockDatabase } from './index'; -import { UpdateGuard } from '../update-guard'; +import { Collection, createMockDatabase, Database } from '@nocobase/database'; import lodash from 'lodash'; -import { Database } from '../database'; +import { UpdateGuard } from '../update-guard'; describe('update-guard', () => { let db: Database; @@ -21,7 +19,7 @@ describe('update-guard', () => { let Tag: Collection; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); User = db.collection({ @@ -425,7 +423,7 @@ describe('update-guard', () => { describe('One2One Association', () => { test('associationKeysToBeUpdate hasOne & BelongsTo', async () => { - const db = mockDatabase(); + const db = await createMockDatabase(); await db.clean({ drop: true }); const Post = db.collection({ name: 'posts', diff --git a/packages/core/database/src/__tests__/utils.test.ts b/packages/core/database/src/__tests__/utils.test.ts index 1fc5c7f4b4..9666f9fa18 100644 --- a/packages/core/database/src/__tests__/utils.test.ts +++ b/packages/core/database/src/__tests__/utils.test.ts @@ -7,7 +7,7 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import Database, { mockDatabase } from '@nocobase/database'; +import Database, { createMockDatabase } from '@nocobase/database'; describe('database utils', () => { let db: Database; @@ -17,7 +17,7 @@ describe('database utils', () => { }); beforeEach(async () => { - db = mockDatabase({}); + db = await createMockDatabase({}); await db.clean({ drop: true }); }); diff --git a/packages/core/database/src/__tests__/value-parsers/date.test.ts b/packages/core/database/src/__tests__/value-parsers/date.test.ts index 43e1262620..048e67b6e0 100644 --- a/packages/core/database/src/__tests__/value-parsers/date.test.ts +++ b/packages/core/database/src/__tests__/value-parsers/date.test.ts @@ -7,16 +7,15 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ +import { Database, DateValueParser, createMockDatabase } from '@nocobase/database'; import dayjs from 'dayjs'; -import { Database, mockDatabase } from '../..'; -import { DateValueParser } from '../../value-parsers'; describe('number value parser', () => { let parser: DateValueParser; let db: Database; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); db.collection({ name: 'tests', diff --git a/packages/core/database/src/__tests__/value-parsers/to-many.test.ts b/packages/core/database/src/__tests__/value-parsers/to-many.test.ts index f8f4a0c0db..383b8b279b 100644 --- a/packages/core/database/src/__tests__/value-parsers/to-many.test.ts +++ b/packages/core/database/src/__tests__/value-parsers/to-many.test.ts @@ -7,15 +7,14 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { Database, mockDatabase } from '../..'; -import { ToManyValueParser } from '../../value-parsers'; +import { Database, ToManyValueParser, createMockDatabase } from '@nocobase/database'; describe('number value parser', () => { let parser: ToManyValueParser; let db: Database; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); db.collection({ name: 'posts', @@ -102,7 +101,7 @@ describe('china region', () => { let db: Database; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); db.collection({ name: 'users', diff --git a/packages/core/database/src/__tests__/value-parsers/to-one.test.ts b/packages/core/database/src/__tests__/value-parsers/to-one.test.ts index 13b98eb871..4990b4b32d 100644 --- a/packages/core/database/src/__tests__/value-parsers/to-one.test.ts +++ b/packages/core/database/src/__tests__/value-parsers/to-one.test.ts @@ -7,15 +7,14 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { Database, mockDatabase } from '../..'; -import { ToManyValueParser } from '../../value-parsers'; +import { Database, ToManyValueParser, createMockDatabase } from '@nocobase/database'; describe('number value parser', () => { let parser: ToManyValueParser; let db: Database; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); db.collection({ name: 'posts', diff --git a/packages/core/database/src/__tests__/view/list-view.test.ts b/packages/core/database/src/__tests__/view/list-view.test.ts index bc18e9f7f8..0cc535659b 100644 --- a/packages/core/database/src/__tests__/view/list-view.test.ts +++ b/packages/core/database/src/__tests__/view/list-view.test.ts @@ -7,13 +7,13 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { Database, mockDatabase } from '@nocobase/database'; +import { createMockDatabase, Database } from '@nocobase/database'; describe('list view', () => { let db: Database; beforeEach(async () => { - db = mockDatabase({ + db = await createMockDatabase({ tablePrefix: '', }); await db.clean({ drop: true }); diff --git a/packages/core/database/src/__tests__/view/view-collection.test.ts b/packages/core/database/src/__tests__/view/view-collection.test.ts index f7b0931aaf..b126ba6e7d 100644 --- a/packages/core/database/src/__tests__/view/view-collection.test.ts +++ b/packages/core/database/src/__tests__/view/view-collection.test.ts @@ -7,16 +7,15 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { vi } from 'vitest'; +import { Database, ViewCollection, createMockDatabase } from '@nocobase/database'; import { uid } from '@nocobase/utils'; -import { Database, mockDatabase } from '../../index'; -import { ViewCollection } from '../../view-collection'; +import { vi } from 'vitest'; describe.runIf(process.env['DB_DIALECT'] === 'postgres')('pg only view', () => { let db: Database; beforeEach(async () => { - db = mockDatabase({ + db = await createMockDatabase({ tablePrefix: '', }); @@ -272,7 +271,7 @@ describe('create view', () => { let db: Database; beforeEach(async () => { - db = mockDatabase({ + db = await createMockDatabase({ tablePrefix: '', }); diff --git a/packages/core/database/src/__tests__/view/view-inference.test.ts b/packages/core/database/src/__tests__/view/view-inference.test.ts index a78c68d968..f969d21e2d 100644 --- a/packages/core/database/src/__tests__/view/view-inference.test.ts +++ b/packages/core/database/src/__tests__/view/view-inference.test.ts @@ -7,14 +7,14 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { Database, mockDatabase } from '@nocobase/database'; +import { createMockDatabase, Database } from '@nocobase/database'; import { ViewFieldInference } from '../../view/view-inference'; describe('view inference', function () { let db: Database; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); }); diff --git a/packages/core/database/src/__tests__/view/view-repository.test.ts b/packages/core/database/src/__tests__/view/view-repository.test.ts index c3bb8afe15..938dde0952 100644 --- a/packages/core/database/src/__tests__/view/view-repository.test.ts +++ b/packages/core/database/src/__tests__/view/view-repository.test.ts @@ -7,14 +7,14 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { Database, mockDatabase } from '@nocobase/database'; +import { createMockDatabase, Database } from '@nocobase/database'; import { uid } from '@nocobase/utils'; describe('view repository', () => { let db: Database; beforeEach(async () => { - db = mockDatabase({ + db = await createMockDatabase({ tablePrefix: '', }); await db.clean({ drop: true }); diff --git a/packages/core/database/src/__tests__/view/view-with-association.test.ts b/packages/core/database/src/__tests__/view/view-with-association.test.ts index 6d21695a5c..2f22781910 100644 --- a/packages/core/database/src/__tests__/view/view-with-association.test.ts +++ b/packages/core/database/src/__tests__/view/view-with-association.test.ts @@ -7,15 +7,15 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { uid } from '@nocobase/utils'; -import { Database, mockDatabase, ViewFieldInference } from '../../index'; +import { createMockDatabase, Database, ViewFieldInference } from '@nocobase/database'; import { pgOnly } from '@nocobase/test'; +import { uid } from '@nocobase/utils'; pgOnly()('view with association', () => { let db: Database; beforeEach(async () => { - db = mockDatabase({ + db = await createMockDatabase({ tablePrefix: '', }); await db.clean({ drop: true }); diff --git a/packages/core/database/src/index.ts b/packages/core/database/src/index.ts index cbd7adf116..60df55e6e4 100644 --- a/packages/core/database/src/index.ts +++ b/packages/core/database/src/index.ts @@ -25,16 +25,20 @@ export { ValidationErrorItem, where, } from 'sequelize'; +export * from './belongs-to-array/belongs-to-array-repository'; export * from './collection'; export * from './collection-group-manager'; export * from './collection-importer'; export * from './database'; export { Database as default } from './database'; +export * from './dialects'; export * from './field-repository/array-field-repository'; export * from './fields'; export * from './filter-match'; export { default as FilterParser } from './filter-parser'; +export * from './helpers'; export * from './inherited-collection'; +export * from './interfaces'; export * from './magic-attribute-model'; export * from './migration'; export * from './mock-database'; @@ -42,17 +46,15 @@ export * from './model'; export * from './relation-repository/belongs-to-many-repository'; export * from './relation-repository/belongs-to-repository'; export * from './relation-repository/hasmany-repository'; +export * from './relation-repository/hasone-repository'; export * from './relation-repository/multiple-relation-repository'; export * from './relation-repository/single-relation-repository'; -export * from './belongs-to-array/belongs-to-array-repository'; export * from './repository'; +export { default as sqlParser, SQLParserTypes } from './sql-parser'; export * from './update-associations'; export { snakeCase } from './utils'; export * from './value-parsers'; export * from './view-collection'; -export * from './view/view-inference'; -export * from './helpers'; -export { default as sqlParser, SQLParserTypes } from './sql-parser'; -export * from './interfaces'; export { default as fieldTypeMap } from './view/field-type-map'; -export * from './dialects'; + +export * from './view/view-inference'; diff --git a/packages/core/database/src/mock-database.ts b/packages/core/database/src/mock-database.ts index 7b7a0c1dc3..b476ea5bce 100644 --- a/packages/core/database/src/mock-database.ts +++ b/packages/core/database/src/mock-database.ts @@ -8,11 +8,11 @@ */ /* istanbul ignore file -- @preserve */ +import { Database, IDatabaseOptions } from '@nocobase/database'; import { merge } from '@nocobase/utils'; import { customAlphabet } from 'nanoid'; import fetch from 'node-fetch'; import path from 'path'; -import { Database, IDatabaseOptions } from './database'; export class MockDatabase extends Database { constructor(options: IDatabaseOptions) { @@ -58,8 +58,21 @@ function customLogger(queryString, queryObject) { } } +export async function createMockDatabase(options: IDatabaseOptions = {}) { + try { + // @ts-ignore + const { staticImport } = await import('@nocobase/plugin-data-source-external-mssql/server/static-import'); + await staticImport(); + } catch (error) { + // error + } + return mockDatabase(options); +} + export function mockDatabase(options: IDatabaseOptions = {}): MockDatabase { const dbOptions = merge(getConfigByEnv(), options) as any; + // eslint-disable-next-line prefer-const + let db: any; if (process.env['DB_TEST_PREFIX']) { let configKey = 'database'; @@ -100,7 +113,7 @@ export function mockDatabase(options: IDatabaseOptions = {}): MockDatabase { } } - const db = new MockDatabase(dbOptions); + db = new MockDatabase(dbOptions); - return db; + return db as MockDatabase; } diff --git a/packages/core/test/src/server/index.ts b/packages/core/test/src/server/index.ts index 8dd864d189..cbe223c54b 100644 --- a/packages/core/test/src/server/index.ts +++ b/packages/core/test/src/server/index.ts @@ -10,7 +10,7 @@ import { describe } from 'vitest'; import ws from 'ws'; -export { MockDatabase, mockDatabase } from '@nocobase/database'; +export { createMockDatabase, MockDatabase, mockDatabase } from '@nocobase/database'; export { default as supertest } from 'supertest'; export * from './memory-pub-sub-adapter'; export * from './mock-isolated-cluster'; diff --git a/packages/plugins/@nocobase/plugin-collection-sql/src/server/__tests__/infer-fields.test.ts b/packages/plugins/@nocobase/plugin-collection-sql/src/server/__tests__/infer-fields.test.ts index 5bb99776d7..3df2d6d979 100644 --- a/packages/plugins/@nocobase/plugin-collection-sql/src/server/__tests__/infer-fields.test.ts +++ b/packages/plugins/@nocobase/plugin-collection-sql/src/server/__tests__/infer-fields.test.ts @@ -7,14 +7,14 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { Database, mockDatabase } from '@nocobase/database'; +import { createMockDatabase, Database } from '@nocobase/database'; import { SQLModel } from '../sql-collection'; describe('infer fields', () => { let db: Database; beforeAll(async () => { - db = mockDatabase({ tablePrefix: '' }); + db = await createMockDatabase({ tablePrefix: '' }); await db.clean({ drop: true }); db.collection({ diff --git a/packages/plugins/@nocobase/plugin-collection-sql/src/server/__tests__/sql-collection.test.ts b/packages/plugins/@nocobase/plugin-collection-sql/src/server/__tests__/sql-collection.test.ts index d3ca5537a8..d931cb7b0f 100644 --- a/packages/plugins/@nocobase/plugin-collection-sql/src/server/__tests__/sql-collection.test.ts +++ b/packages/plugins/@nocobase/plugin-collection-sql/src/server/__tests__/sql-collection.test.ts @@ -7,11 +7,11 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { Collection, mockDatabase } from '@nocobase/database'; +import { Collection, createMockDatabase } from '@nocobase/database'; import { SQLCollection } from '../sql-collection'; test('sql-collection', async () => { - const db = mockDatabase({ tablePrefix: '' }); + const db = await createMockDatabase({ tablePrefix: '' }); await db.clean({ drop: true }); db.collectionFactory.registerCollectionType(SQLCollection, { condition: (options) => { diff --git a/packages/plugins/@nocobase/plugin-field-formula/src/server/__tests__/formula-field.test.ts b/packages/plugins/@nocobase/plugin-field-formula/src/server/__tests__/formula-field.test.ts index 187f767874..eab8c29e04 100644 --- a/packages/plugins/@nocobase/plugin-field-formula/src/server/__tests__/formula-field.test.ts +++ b/packages/plugins/@nocobase/plugin-field-formula/src/server/__tests__/formula-field.test.ts @@ -7,14 +7,14 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { Database, mockDatabase } from '@nocobase/database'; +import { createMockDatabase, Database } from '@nocobase/database'; import { FormulaField } from '../formula-field'; describe('formula field', () => { let db: Database; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); db.registerFieldTypes({ formula: FormulaField, diff --git a/packages/plugins/@nocobase/plugin-field-sort/src/server/__tests__/sort.test.ts b/packages/plugins/@nocobase/plugin-field-sort/src/server/__tests__/sort.test.ts index 8185c072e3..85ce42325a 100644 --- a/packages/plugins/@nocobase/plugin-field-sort/src/server/__tests__/sort.test.ts +++ b/packages/plugins/@nocobase/plugin-field-sort/src/server/__tests__/sort.test.ts @@ -7,12 +7,12 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { Database, mockDatabase } from '@nocobase/database'; +import { createMockDatabase, Database, mockDatabase } from '@nocobase/database'; import { createMockServer, MockServer } from '@nocobase/test'; -import Plugin from '..'; import { SequelizeCollectionManager, SequelizeDataSource } from '@nocobase/data-source-manager'; import { uid } from '@nocobase/utils'; +import Plugin from '..'; describe('sort field', () => { let app: MockServer; @@ -30,7 +30,7 @@ describe('sort field', () => { new SequelizeDataSource({ name: 'another', collectionManager: { - database: mockDatabase({ + database: await createMockDatabase({ tablePrefix: `t${uid(5)}`, }), }, diff --git a/packages/plugins/@nocobase/plugin-localization/src/server/__tests__/source-manager.test.ts b/packages/plugins/@nocobase/plugin-localization/src/server/__tests__/source-manager.test.ts index 755950534b..b0dd38bf55 100644 --- a/packages/plugins/@nocobase/plugin-localization/src/server/__tests__/source-manager.test.ts +++ b/packages/plugins/@nocobase/plugin-localization/src/server/__tests__/source-manager.test.ts @@ -7,7 +7,7 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { MockDatabase, mockDatabase } from '@nocobase/database'; +import { createMockDatabase, MockDatabase } from '@nocobase/database'; import { SourceManager } from '../source-manager'; describe('source-manager', async () => { @@ -16,7 +16,7 @@ describe('source-manager', async () => { beforeEach(async () => { sourceManager = new SourceManager(); - db = mockDatabase(); + db = await createMockDatabase(); }); afterEach(async () => { diff --git a/packages/plugins/@nocobase/plugin-map/src/server/__tests__/fields.test.ts b/packages/plugins/@nocobase/plugin-map/src/server/__tests__/fields.test.ts index 41b68d6e45..6efdd5281a 100644 --- a/packages/plugins/@nocobase/plugin-map/src/server/__tests__/fields.test.ts +++ b/packages/plugins/@nocobase/plugin-map/src/server/__tests__/fields.test.ts @@ -8,7 +8,7 @@ */ import Database from '@nocobase/database'; -import { mockDatabase } from '@nocobase/test'; +import { createMockDatabase } from '@nocobase/test'; import { CircleField, LineStringField, PointField, PolygonField } from '../fields'; const data = { @@ -32,7 +32,7 @@ describe('fields', () => { let db: Database; beforeEach(async () => { - db = mockDatabase(); + db = await createMockDatabase(); await db.clean({ drop: true }); db.registerFieldTypes({ point: PointField, diff --git a/packages/plugins/@nocobase/plugin-workflow-test/src/server/index.ts b/packages/plugins/@nocobase/plugin-workflow-test/src/server/index.ts index 064c1b8f7c..8f505d5c0d 100644 --- a/packages/plugins/@nocobase/plugin-workflow-test/src/server/index.ts +++ b/packages/plugins/@nocobase/plugin-workflow-test/src/server/index.ts @@ -10,13 +10,20 @@ import path from 'path'; import { ApplicationOptions, Plugin } from '@nocobase/server'; -import { MockClusterOptions, MockServer, createMockCluster, createMockServer, mockDatabase } from '@nocobase/test'; +import { + MockClusterOptions, + MockServer, + createMockCluster, + createMockDatabase, + createMockServer, + mockDatabase, +} from '@nocobase/test'; -import functions from './functions'; -import triggers from './triggers'; -import instructions from './instructions'; import { SequelizeCollectionManager, SequelizeDataSource } from '@nocobase/data-source-manager'; import { uid } from '@nocobase/utils'; +import functions from './functions'; +import instructions from './instructions'; +import triggers from './triggers'; export { sleep } from '@nocobase/test'; interface WorkflowMockServerOptions extends ApplicationOptions { @@ -62,7 +69,7 @@ export async function getApp({ new SequelizeDataSource({ name: 'another', collectionManager: { - database: mockDatabase({ + database: await createMockDatabase({ tablePrefix: `t${uid(5)}`, }), },