zulip / zulip-desktop

Zulip Desktop client for Mac, Windows and Linux.
https://zulip.com/apps
Apache License 2.0
848 stars 429 forks source link

Build an efficient process for testing the app #82

Open brainwane opened 8 years ago

brainwane commented 8 years ago

This is a TODO from https://zulip.readthedocs.io/en/latest/roadmap.html that Tim included in the Zulip roadmap when he first published it in 27b8e8b294e3c43566dea724d059ef32af16a8f3 .

akashnimare commented 7 years ago

@brainwane Sorry for the late reply as I was on a little vacation 😄 . I have not done much work on testing but releasing new versions, auto updates etc will be covered in our first stable release.

geeeeeeeeek commented 7 years ago

What kind of tests are you looking for? Since our app is directly fetched from the web, there is only few things we can test on Electron, like testing if each menu item works.

timabbott commented 7 years ago

Yeah I think the things I'd have automated tests for are:

And then maybe part 2 of this (which probably deserves its own issue) is that we should have a beta channel in the auto-update system, so that we can push an update to only some people, wait a few days for issue reports, and then push it out to the rest.

akashnimare commented 7 years ago

Basic testing of any dependencies we've had trouble with.

@timabbott specially Spellchecker.

geeeeeeeeek commented 7 years ago

I'll try to write a plan. And see what we can do on testing.

priyank-p commented 6 years ago

@timabbott i can start working on test using mocha if you like.

akashnimare commented 6 years ago

For testing, have a look test-spellchecker branch (it's WIP). What kind of test you want to work on? @SimplyAhmazing have added couple of e2e tests here.

priyank-p commented 6 years ago

I am working with Ahmed Abdalla on that one edit: with @SimplyAhmazing.

SimplyAhmazing commented 6 years ago

@cPhost There 3 categories of testing for an electron application - testing code in the renderer process, testing code in the main process, and integration tests that runs the entire app with both processes live.

After this PR is closed the renderer process tests are in tests/unit and integration tests are in tests/e2e. Nothing is setup yet for main process tests.

/cc @akashnimare