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

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
mquandalle opened this issue Jan 2, 2016 · 7 comments
Closed

Tests #467

mquandalle opened this issue Jan 2, 2016 · 7 comments

Comments

@mquandalle
Copy link

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.

@mquandalle mquandalle modified the milestone: 2016 Jan 3, 2016
@jseadragon
Copy link

Once this is out, I'd be open to helping write some tests. It'd be a good way to learn how Wekan is built, too.

@mquandalle Do you think there would be any form of an integration test that would interface with the raw page elements (like cucumber or selenium)? Or could we get enough user-story coverage using the JS unit tests and 'mocking' out the other modules? If it's a silly question, no worries. I'm not familiar with the NodeJS testing ecosystem.

@romant
Copy link
romant commented Jan 23, 2016

Check out chimp; has been invaluable for Meteor testing

8000

@miherlosev
Copy link

Wekan is a end-user application.
So, e2e tests is more preferred.
I can write them using Testcafe and setup CI on Travis or appveyor.

@ocdtrekkie
Copy link
Contributor

@miherlosev Some of the Wekan community is currently working off of https://github.com/wefork/wekan and I don't think any CI testing is set up currently for that repo. But I think it would probably be quite welcome.

@miherlosev
Copy link

Ok.
I will create pull request with CI integration and write first e2e tests.

@miherlosev
Copy link

Wekan is a end-user application.
So, e2e tests is more preferred.
I can write them using Testcafe and setup CI on Travis or appveyor.

@xet7
What do you think?

@xet7
Copy link
Member
xet7 commented Jan 19, 2017

@miherlosev

There is .travis.yml file and build passing badge already at:
https://github.com/wefork/wekan

If it's missing something, send a pull request or add issue to wefork what I should add there.

@xet7 xet7 modified the milestones: v0.20, v0.11.1 Feb 11, 2017
@xet7 xet7 removed this from the v0.20 milestone Jul 16, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants
0