8000 Tests · Issue #467 · wekan/wekan · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
Tests #467
Closed
Closed
Tests#467
@mquandalle

Description

@mquandalle

Apart from the mostly stylistic Eslint static analysis, Wekan currently doesn’t have any test. This is a big problem that we need to fix. Unfortunately the Meteor ecosystem has historically been sort of lacking in this field, which means that writing tests for a Meteor application involves making some architecture decisions that haven’t been figure out as a documented standard by either the Meteor community or MDG.

I would distinguish mainly two categories of tests:

  • Non Meteor specific tests. After all we are just building a web application that runs on NodeJS on the server and a browser on the client, so we can re-use most of the existing testing infrastructure in the broader NodeJS ecosystem. One limitation that we currently have is the difficulty to import a single JavaScript object to run unit tests on it due to the lack of ES6 modules support in Meteor, but that problem will be solved with Meteor 1.3. So we soon won’t have any limitations on standard tests anymore.
  • Meteor specific tests. As we build rich-client application we want to test some scenarios with mutliple client creating actions and a server in the middle. For instance we want to test that if I remove access to a board to a user, then this user can't access any of the board data anymore. It seems that Gagarin is a good fit for these tests.

The first tests will come pretty soon. Basically I plan to migrate Wekan to Meteor 1.3 as soon as there is a working beta (beta-2 raises some exceptions on application start, but these are reported and should be fixed in the next beta), then we will have to re-organize to some extends the internal structure of the application to make it more modular and to use ES6 import and export, first tests will come concurrently with this transition to canonical Meteor 1.3.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      0