izzy lyseggen 4fd1a6b480 test(subs): try supertest for the requests a la #3
`sendRequest` now uses the supertest method for executing and verifying requests

still using chai for the assertions with subscribe data and eventNum
as I wasn't sure what assertion lib we want to use if not chai
since supertest is just for api (if i'm understanding correctly??)
2020-08-24 17:47:03 +01:00
2020-08-20 15:46:17 +03:00
2020-07-17 20:39:23 +01:00
2020-03-26 21:45:24 +00:00
2020-07-27 23:16:49 +01:00

Speckle Server

The next iteration of the Speckle Server.

Speckle-Next codecov

Contributing

Local debugging & testing

To debug, simply run npm run dev:server. To test, run npm run test:server. To run tests in interactive mode, run npm run test:server:watch.

Requirements

  1. Duplicate and rename .env-example to .env.

  2. You will need to have a postgres instance running on the default settings, with two databases present, named speckle2_dev and speckle2_test.

For getting postgres running on osx, check out postgres.app, and the classic pgadmin.

  1. You will also need Redis installed.

For which you can use the redis.app.

How to commit to this repo

When pushing commits to this repo, please follow the following guidelines:

  • Install commitizen globally (npm i -g commitizen).
  • When ready to commit, type in the commandline git cz & follow the prompts.
  • Install eslint globally npm i -g eslint
    • if using VS code install the eslint extension
    • we also recommend setting it to run on save by adding the following VS Code setting
    "editor.codeActionsOnSave": {
        "source.fixAll.eslint": true
    }
    

Modules

The server dynamically loads individual 'modules' from each top level folder in ./modules. It first loads the core modules, and thereafter others.

Modules can create new and alter old database tables, if the knex migration files are present in a migrations subfolder (e.g., ./modules/your-module/migrations/my-new-table.js). Make sure to add a date in front of your migration file.

Structure

A module should contain in its root folder an index.js file that exposes an init function:

exports.init = ( app ) => {
    // Your module's initialisation code
}

Any database migration files should be stored and named accordingly in a migrations folder. Moreover, modules should include test files. These should be located in tests. Here's a sample structure:


|-- index.js // entry file
|-- migrations
    `-- myTable.js
`-- tests
    `-- example.spec.js

// TODO

API

GraphQl

// TODO ### REST

Depecrated.

S
Description
Speckle Server with custom IFC Converter
Readme Apache-2.0 1.1 GiB
Languages
HTML 44.2%
TypeScript 20.7%
C++ 20.7%
C 6.9%
Vue 3.7%
Other 3.6%