Commit Graph

8 Commits

Author SHA1 Message Date
ChengLei Shao
261d4c4137
refactor: establish a sound testing system (#3179)
* chore: use vitest to replace jest

* chore: support vitest

* feat: vitest 1.0

* fix: test

* chore: yarn.lock

* chore: github actions

* fix: test

* fix: test

* fix: test

* fix: test

* fix: jest.fn

* fix: require

* fix: test

* fix: build

* fix: test

* fix: test

* fix: test

* fix: test

* fix: test

* fix: test

* fix: test

* fix: dynamic import

* fix: bug

* chore: yarn run test command

* chore: package.json

* chore: package.json

* chore: vite 5

* fix: fix variable test

* fix: import json

* feat: initEnv

* fix: env.APP_ENV_PATH

* chore: get package json

* fix: remove GlobalThmeProvider

* chore: update snap

* chore: test env

* chore: test env

* chore: import module

* chore: jest

* fix: load package json

* chore: test

* fix: bug

* chore: test

* chore: test

* chore: test

* chore: test

* chore: test

* fix: import file in windows

* chore: import module with absolute file path

* fix: test error

* test: update snapshot

* chore: update yarn.lock

* fix: front-end tests do not include utils folder

* refactor: use vitest-dom

* fix: fix build

* fix: test error

* fix: change to vitest.config.mts

* fix: types error

* fix: types error

* fix: types error

* fix: error

* fix: test

* chore: test

* fix: test package

* feat: update dependencies

* refactor: test

* fix: error

* fix: error

* fix: __dirname is not defined in ES module scope

* fix: allow only

* fix: error

* fix: error

* fix: error

* fix: create-app

* fix: install-deps

* feat: update docs

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
Co-authored-by: dream2023 <1098626505@qq.com>
Co-authored-by: Zeke Zhang <958414905@qq.com>
2023-12-21 20:39:11 +08:00
被雨水过滤的空气-Rain
a57c93d35b
feat: support e2e (#2624)
* chore: upgrade vitest to v0.34.3

* feat: setup NocoBase

* chore: preparing test env

* test: add a test of rigster

* refactor: rename test dir to testUtils

* chore: add tests

* chore: add ci for e2e

* chore: fix ci

* chore: avoid error in CI

* chore: add some utils for test

* chore: make more stable

* chore: should not close server in CI

* chore: add comments

* chore: change output dir

* fix: should use current branch to run tests

* chore: should request systemSettings by api in e2e

* chore: should build first in e2e CI

* chore: remove key

* chore: use execa to replace execSync

* refactor: extract test suite

* chore: add gotoPage

* chore: update uid of pageSchema

* chore: update collection name

* chore: use faker.js to generate data

* refactor: extract page config

* chore: ignore for association fields in faker

* chore: add testid

* chore: optimize action designer

* chore: associationFilter.Item designer

* chore: AssiciationFilter & BlockItem

* Revert "chore: AssiciationFilter & BlockItem"

This reverts commit b418df650e106fd0c8e23035d2f75acf60dcafe4.

* Revert "chore: associationFilter.Item designer"

This reverts commit 7aa4d35c1af7f3a780b370d8b1b44aac01697be3.

* Revert "chore: optimize action designer"

This reverts commit ff717b972ffd64f7968d565a3a84ad617ff889e2.

* chore: optimize Designer

* chore: compat with older browsers

* chore: use describe to avoid hooks is not run

* chore: add no-floating-promises to eslint rules

* chore: support argv

* chore: demo

* chore: better testId

* chore: change .e2e.ts to .test.ts

* fix(SchemaInitializer): avoid error

* refactor: move e2eUtils.ts to @nocobase/test

* fix: move e2eUtils to client

* chore: remove uselesscode

* refactor: add .env.e2e.example

* chore: optimize log

* refactor: use mockPage to replace gotoPage

* chore: update env.e2e

* chore: add APP_BASE_URL

* chore: gitigore

* test: add test related of menu

* chore: add SOCKET_PATH in env

* fix(vscode): load env when using vscode plugin
2023-09-27 20:00:17 +08:00
ChengLei Shao
ce879d2dda
feat(application): cron job in application (#2730) 2023-09-27 19:31:14 +08:00
ChengLei Shao
39ee4b8873
feat: application supervisor (#2353)
* chore: skip sync localization-management plugin enable status

* chore: unSyncPlugins array

* chore: remove install at dev

* chore: gateway and supervisor

* chore: install command

* chore: remove app manager

* chore: share plugin

* chore: wsserver

* chore: websocket server

* chore: websocket connection with app status

* feat: socket server at gateway

* chore: loading message

* chore: ready status

* chore: handle app error

* feat: restart app at supervisor

* feat: health check endpoint

* chore: test

* chore: test

* chore: test

* chore: test

* chore: build

* chore: test

* chore: build

* chore: application ready status

* chore: error message

* chore: handle application error

* chore: handle error in load

* chore: report error in websocket

* chore: ws error

* chore: ws error

* chore: typo

* chore: switch app ready status at install

* chore: test

* chore: test

* chore: test

* chore: test

* feat: add WebSocket client

* chore: start gateway

* chore: start command in application

* chore: code

* chore: pm command

* chore: run start after load sub app

* feat: application fsm

* refactor: server life cycle (#2402)

* refactor: server life cycle

* fix: test error

* fix: test error

* fix: test error

* fix: app.start

* fix: cronjob stop

* fix: db.sync before upgrade

* fix: pm.get

* fix: test error

* fix: test error

* fix: test error

* test: add test cases

* fix: remove PluginType

* chore: start application after install

* chore: fsm

* chore: working status

* chore: working command

* chore: remove swith app ready status

* chore: switch status after working done

* chore: ws status

* chore: gateway error

* chore: test

* chore: stopping status

* chore: test

* chore: test

* feat: app proxy

* chore: application destory

* chore: application message changed with status

* chore: test

* chore: test timeout

* test: remove listener add by plugin

* test: remove listener add by plugin

* chore: test

* feat: app maintaining

* fix: add AppMaintainingDialog

* feat: off

* test: gateway http response

* test: gateway with errors

* chore: unkown error

* chore: websocket message

* chore: ws message

* chore: code

* chore: error format

* chore: delay app load

* feat: improve code

* chore: application initializing status

* chore: supervisor with app status

* chore: command status response

* chore: test

* chore: ws message

* chore: test

* fix: command running message

* feat: restart

* chore: code

* chore: status transition

* chore: test

* fix: improve code

* fix: error

* fix: restart

* fix: command

* chore: reset client app tag when app selector changed

* chore: error report

* fix: application status

* fix: build

* chore: disable help command dispatch

* chore: test

* test: multi apps test

* fix: improve code

* fix: test

* fix: test

* fix: multi apps single running

* fix: improve code

* fix: app status

* chore: move plugin static file to gateway

* feat: static file handler

* chore: test

* chore: enable plugins in share collection

* chore: gateway serve upload files

* fix: improve client

* chore: ws nginx config

* fix: gateway with naonoid

* fix: db sync

* fix: loading

* fix: ping

* fix: locale load

* fix: yarn start --quickstart

* fix: add debug log

* chore: application started event

* chore: running working message payload

* chore: nginx log

* chore: nginxconf

* chore: working message log

* feat: logs

* feat: compression

* fix: remove koa-send and koa-static

* fix: remove -e

* fix: remove nginx

* fix: remove -e

* fix: __appName

* chore: delay install sub application

* chore: sync plugin status

* fix: boot sub app

* fix: main app reload

* fix: test

* fix: app status

* test: field.bind block event loop

* feat: newrelic

* feat: debug log

* chore: upgrade

* fix(file-manager): test error

* fix: default app selector

* fix: reload after maintained

* chore: boot sub app

* chore: application destroy command

* chore: destroy command

* chore: clean code

* chore: package.json

* chore: maintaining message

* chore: test

* fix: collection.sync

* feat: add test cases

* chore: application

* fix: test error

* feat: improve codes and add test cases

* fix: test error

* fix: pm enable and disable

* fix: pm.disable

* feat: update docs

* chore: update dockerfile

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
2023-08-24 17:47:45 +08:00
被雨水过滤的空气-Rairn
47838889f4
test: add tests for client (#1960)
* feat: add test utils

* test: fix compatibility problem

* refactor: use esm

* refactor: change require to import

* test: add a test

* chore: optimize launch.json

* chore(jest): optimize config

* test: fix failed

* test(Action): fix failed

* test: migration test from nocobase-next

* test: fix failed

* chore: set css to false

* fix: fix errors

* test(Filter): add test

* test(BlockItem): add test

* test(Calendar): add test

* refactor: migrate testUtils to client

* fix: avoid error

* refactor: fix lint error

* Revert "refactor: migrate testUtils to client"

This reverts commit ae569e2021a5c720111518cf3f2236e761a7186d.

* test: fix test failed

* refactor: migrate tesetUtils to @nocobase/test/client

* fix(Select): fix BUG

* refactor: remove useless code

* Revert "refactor: migrate tesetUtils to @nocobase/test/client"

This reverts commit 70d2211d5af546ae3fffaf5b53a326be8e194b34.

* test(AssociationSelect): add test

* test(CardItem): add test

* test(CollectionSelect): add test

* test(Cron): add test

* test(Details): add test

* test(ErrorFallback): add test

* test(Form): add test

* fix: fix CI

* test(FormItem): add test

* test(FormV2): add test

* test(G2Plot): add test

* test(Gantt): add test

* test(Grid): add test

* test(GridCard): add test

* test(Kanban): add test

* test(List): add test

* test(Menu): add test

* test(Page): add test

* test(Pagination): add test

* test(Preview): add test

* test(RemoteSelect): add test

* test: fix: failed

* refactor: remove useless code

* test(Table): add test

* test(TableV2): add test

* test(Tabs): add test

* test(Variable): add test

* test(Upload): add test

* chore: comment

* Revert "refactor: change require to import"

This reverts commit 3a23607e6faeda6f8b5bee02b9d8fa33bf9d2684.

* refactor: remove useless code

* fix: fix translation bug

* fix: fix export position

* test: update snap
2023-06-07 10:37:10 +08:00
ChengLei Shao
856b6efa77
feat: prepare database method (#1492) 2023-02-23 20:14:50 +08:00
ChengLei Shao
e991b2965a
feat: collection inheritance (#1069)
* chore: test

* chore: inherited-collection class

* feat: collection inherit

* feat: collection inherit

* feat: inhertis sync runner

* test: get parents fields

* feat: collection inherit style promote

* feat: sync

* feat: sync alter table

* feat: pgOnly Test

* fix: child collection create api

* feat: replace parent field

* chore: reload parent fields

* test: reload collection test

* feat: details are displayed according to conditions

* fix: typo

* feat: inheritance map class

* chore: is parent node

* feat: display where child row created from

* fix: find with appends

* feat: add parent collection fields

* fix: create table

* feat: load fields for all children

* refactor: sync fields from parent

* test: has one field inhertis

* feat: replace child association target

* feat: should not replace child field when parent field update

* test: should update inherit field when parent field update

* feat: only the blocks directly inherited from the current data are displayed

* fix: inherit from multiple collections

* feat: only the blocks directly inherited from the current data are displayed

* fix: test

* feat: parent collection expend

* fix: test

* test: belongsToMany inherits

* test: belongsToMany inherits

* feat: block display

* feat: collection inherite

* feat: collection inherite

* feat: multiple inherits

* fix: sync runner

* feat: collection inherite

* feat: collecton inherits

* feat: cannot be modified after inheritance and saving

* feat: collection inherit for graph

* feat: collection inherits

* fix: drop inhertied field

* fix: should throw error when type conflit

* feat: output inherited fields

* feat: bulk update collection fields

* feat: collection fields

* feat: collection fields

* test: create relation with child table

* fix: test

* fix: test

* fix: test

* feat: style impove

* test: should not replace field with difference type

* feat: add text

* fix: throw error when replace field with difference type

* feat: overriding

* feat: kan bankanban group fields

* feat: calendar block fields

* feat: kan bankanban group fields

* fix: test

* feat: relationship fields

* feat: should delete child's field when parent field deleted

* feat: foreign key filter

* fix: build error & multiple inherit destory field

* fix: test

* chore: disable error

* feat: no recursive update associations (#1091)

* feat: update associations

* fix(collection-manager): should update uiSchema

* chore: flip if

* feat: mutile inherits

* feat: db dialect

* feat: inherits show by database

* chore: git hash into docker image

* fix: js gzip

* fix: dockerfile

* chore: error message

* feat: overriding

* feat: overriding

* feat: overriding

* feat: local

* feat: filter fields by interface

* fix: database logging env

* test: replace hasOne target

* feat: add view

* feat: local

* chore: enable error

* fix: update docs

Co-authored-by: katherinehhh <katherine_15995@163.com>
Co-authored-by: chenos <chenlinxh@gmail.com>
2022-11-16 12:53:58 +08:00
ChengLei Shao
24ea83f0ff
Feat/create nocobase app (#273)
* create-nocobase-app template from [develop]

* change create-nocobase-app package.json config

* feat: load configuration from directory

* feat: configuration repository toObject

* feat: create application from configuration dir

* feat: application factory with plugins options

* export type

* feat: read application config &  application with plugins options

* feat: release command

* fix: database release

* chore: workflow package.json

* feat: nocobase cli package

* feat: console command

* chore: load application in command

* fix: load packages from process.cwd

* feat: cli load env file

* feat: create-nocobase-app

* fix: gitignore create-nocobase-app lib

* fix: sqlite path

* feat: create plugin

* chore: plugin files template

* chore: move cli into application

* chore: create-nocobase-app

* fix: create plugin

* chore: app-client && app-server

* chore: package.json

* feat: create-nocobase-app download template from npm

* chore: create-nocobase-app template

* fix: config of plugin-users

* fix: yarn.lock

* fix: database build error

* fix: yarn.lock

* fix: resourcer config

* chore: cross-env

* chore: app-client dependents

* fix: env

* chore: v0.6.0-alpha.1

* chore: verdaccio

* chore(versions): 😊 publish v0.6.0

* chore(versions): 😊 publish v0.6.1-alpha.0

* chore(versions): 😊 publish v0.6.2-alpha.0

* chore(versions): 😊 publish v0.6.2-alpha.1

* chore: 0.6.2-alpha.2

* feat: workspaces

* chore(versions): 😊 publish v0.6.2-alpha.3

* chore(versions): 😊 publish v0.6.2-alpha.4

* chore: create-nocobase-app

* chore: create-nocobase-app lib

* fix: update tsconfig.jest.json

* chore: .env

* chore(versions): 😊 publish v0.6.2-alpha.5

* chore(versions): 😊 publish v0.6.2-alpha.6

* feat: improve code

* chore(versions): 😊 publish v0.6.2-alpha.7

* fix: cleanup

* chore(versions): 😊 publish v0.6.2-alpha.8

* chore: tsconfig for app server package

* fix: move files

* fix: move files

Co-authored-by: chenos <chenlinxh@gmail.com>
2022-04-17 10:00:42 +08:00