summaryrefslogtreecommitdiff
path: root/addons/web/tests/test_js.py
AgeCommit message (Collapse)Author
2018-11-19[IMP] web: force mobile screen size for mobile suiteAaron Bohy
Before this rev., the mobile js tests suite was run on a desktop like chrome-headless (1366x768). This can be a problem for this suite which tests mobile behaviors and thus clicks on parts of the interface that are only visible on small devices (thanks to scss media queries). This wasn't really a problem until now, because the test framework allowed to click on invisible elements. But it's no longer the case since the introduction of click helpers.
2018-05-02[MERGE] forward port branch 11.0 up to 521414b1c10Christophe Simonis
2018-04-26[FIX] web: Explicitly decode the JS files in tests.Manuel Vázquez Acosta
When in Python 3, then function `open` defaults to open the file in text mode with and the encoding (if not passed) is taken from `locale.getpreferredencoding`. Using `getpreferredencoding` is not necessarily a good practice. Because files might no be encoded that way. When testing Odoo not in runbot (which has LANG set to C.UTF-8) you may get: Traceback (most recent call last): File "/home/gitlab-runner/src/odoo11/addons/web/tests/test_js.py", line 24, in test_check_suite self._check_only_call('web.qunit_suite') File "/home/gitlab-runner/src/odoo11/addons/web/tests/test_js.py", line 37, in _check_only_call if RE_ONLY.search(fp.read()): File "/home/gitlab-runner/virtualenvs/odoo11-MlnlRiTaP2/lib/python3.5/encodings/ascii.py", line 26, in decode return codecs.ascii_decode(input, self.errors)[0] UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 4757: ordinal not in range(128) The proposed solution is to read the file in binary mode, and decode to unicode/str ourselves using utf-8. We don't use the encoding argument of `open`, so that the code works in both Python 3 and Python 2. PR #24434
2018-04-12[IMP] web: add fail fast feature to qunit test suiteGéry Debongnie
With this commit, we introduce a new 'fail fast' feature to our qunit test suite: when it is activated, the qunit test suite will immediately stop after the first failed test. It is accessible as a flag in the url (failfast), or by clicking the checkbox in the UI. It is currently not activated by default. Note that this commit also change the url for the runbot phantomjs test in order to activate this feature. This allows us to increase the global timeout for the js test suite without fear!
2018-04-11[FIX] web: increase timeout of test suiteChristophe Monniez
As the test suite increases, the timeout has to follow until a better solution is found (like a fail fast in Qunit).
2018-01-22[MERGE] forward port branch saas-11.1 up to fa1f2132e79Christophe Simonis
2018-01-18[IMP] tests: Add the possibility to tag testsChristophe Monniez
Purpose: When running tests, all the tests for the installed/updated files are done. This commit adds a 'tagged' decorator that can be used to tag tests. Combined with a new 'test-tags' CLI option, it adds the ability to filter which tests are executed. For example, @tagged('slow') will add a tag 'slow' to the test. The CLI option 'test-tags="slow"' will only run tests tagged 'slow'. One can use prefixes to select cases with tags. '+' or no prefix means that the tests tagged with this tag are selected for execution. '-' prefix will exclude the tests tagged with this tag. Exclusion takes precedence over inclusion. Also, by default, all Odoo tests cases are tagged 'standard' and with the technical name of the module. This means that when selecting tests with the 'test-tags' parameter, if '-standard' is not specified, all tests tags are going to be executed. When tagging tests, one can remove such automatic tag by prefixing the tag name with '-'. E.g. @tagged('-standard') will remove the standard tag from the test. Another example, if one wants to test the 'sale' module alone, even without adding any 'tagged' decorator thos tests can be selected like that: --test-tags="sale" Tests are selected or deselected using a TagsSelector. When instanciated, a string is passed with comma separated tests selectors like '+slow,-standard'. When the 'check' method is called with a test as argument, it returns True or False if the test has to be executed or not.
2018-01-17[FIX] web: timeout of test suiteNicolas Martinelli
A timeout of 300 seconds is not enough anymore to run all tests on some runbots (e.g. runbot12) or Odoo.sh installations. The duration on these servers is often slightly over 300, leading to a failing test. This increase is logical since unit tests are added on a regular basis. opw-805418 opw-804621
2017-11-20[IMP] web: also check for presence of `QUnit.only` in mobile suiteChristophe Simonis
2017-11-10[FIX] web(_editor): enable mobile testsAaron Bohy
This rev. introduces a new test suite meant to test the webclient components on mobile devices. The key 'config.device.isMobile' is forced to true in this test suite, so that mobile specific JS files are properly executed, which isn't the case in the classic JS test suite (setting isMobile to true in the test definition is too late, as the JS files are already processed). For now, this new test suite contains a single test, which was skipped until this rev. as it couldn't be executed in the classical JS test suite. Both suites are executed at each build of the runbot, and they can be manually executed from the webclient as well (via the debug manager).
2017-09-11[IMP] web: add test to ensure nobody will commit again unwanted `QUnit.only`Christophe Simonis
2017-09-05[FIX] web: increase timeout for js testsGéry Debongnie
We have a new runbot server which is quite slow. Because of this, it takes too much time to run this unit test suite (for comparison, one of the last build by the main runbot takes 126s). This is necessary for now, until we use chrome headless or something...
2017-08-24[FIX] web: increase timeout for JS unit testsGéry Debongnie
Some runbot servers are quite slow in the midday, and they fail the unit tests because the 3min timeout is reached.
2017-07-11[FIX] web: increase timer for js testsGéry Debongnie
A few builds fail when run in 'primetime', because the js test suite takes more than 120 seconds (on the slow runbots). With this commit, we increase our timer to 180s to make sure that this does not happen again.
2017-04-26[FIX] web: increase timeout of test_01_jsAaron Bohy
This test executes the QUnit js test suite. Since the new views, this suite keeps growing, which is good. The default timeout for phantomjs tests is 60 seconds, which starts to be tight for test_01_js when the runbot is overloaded. So this commit increases the timeout of this test to 120 seconds.
2017-04-11[FIX] web: execute WebSuite tests post installAaron Bohy
So that tests written in addons are executed as well.
2017-04-11[REF] web, *: redesign all JS viewsGéry Debongnie
This commit introduce a full redesign of all JS views. We started basically from scratch. The goal was to unify all the various views under a common framework, to make them testable, to make then usable in different conditions (in studio, or in the frontend), and to make our lives easier. Some important points are: - we introduced new coding guidelines (camelCase, 80 chars width, ...) - we have a brand new testing framework (still QUnit based) - kanban view moved to the web addon - calendar view (formerly web_calender) moved to web as well - the tree view was removed - all new code should be documented We hope that this code is the start of a new era for the Odoo web client, we want to have a high quality codebase, well documented, well tested, well designed. Work done by the framework team: mostly aab, ged, chm, dmo, qsm
2016-10-27[MERGE] forward port branch saas-12 up to 6f8e40cChristophe Simonis
2016-10-27[FIX] web: deactivate unreliable testChristophe Simonis
2016-08-10[IMP] various: use odoo for imports instead of openerp and update class namesThibault Delavallée
2016-08-03[IMP] web: remove void file, replace openerp tags, add license, clean importsfwi-odoo
2014-12-31[REF] remove vim modelines and resulting trailing blank linesLeonardo Donelli
Let 2015 be a year without modelines! cf #4174
2014-07-06[MERGE] new v8 api by rcoRaphael Collet
A squashed merge is required as the conversion of the apiculture branch from bzr to git was not correctly done. The git history contains irrelevant blobs and commits. This branch brings a lot of changes and fixes, too many to list exhaustively. - New orm api, objects are now used instead of ids - Environements to encapsulates cr uid context while maintaining backward compatibility - Field compute attribute is a new object oriented way to define function fields - Shared browse record cache - New onchange protocol - Optional copy flag on fields - Documentation update - Dead code cleanup - Lots of fixes
2014-04-28convert js tests to HttpCaseAntony Lesuisse
bzr revid: al@openerp.com-20140428152857-h7z61vdw5crezv2u
2014-02-21[IMP] JS unit testsXavier Morel
split automated suite so web only runs its own JS tests, and web_tests_demo runs its own. Also reversed changes to index. todo: use hack cursor thing? bzr revid: xmo@openerp.com-20140221124557-s875nj0xrf2t85i9
2014-02-20[MERGE] forward port of branch saas-2 up to revid 3950 ↵Christophe Simonis
dle@openerp.com-20140220141302-3paib80ixiyi66qg bzr revid: chs@openerp.com-20140220161753-ec6l9ser1pbnmzgk
2014-02-09fix web testsAntony Lesuisse
bzr revid: al@openerp.com-20140209004310-0jpc29beh7k1e27c
2014-02-03[FIX] tests: pass correct passwords to jsChristophe Simonis
bzr revid: chs@openerp.com-20140203141506-zmfhd7g0zorveb5v
2014-01-31[REM] useless commentXavier Morel
the database password is necessary to duplicate databases bzr revid: xmo@openerp.com-20140131110748-nfguxwjysgbn6y3y
2012-12-09[FIX] test_js typoAntony Lesuisse
bzr revid: al@openerp.com-20121209043015-curop98b936em7bn
2012-12-09[FIX] runbot use db_password for admin_passowrdAntony Lesuisse
bzr revid: al@openerp.com-20121209040103-65om8phyuj71u167
2012-12-09[IMP] testjs commandAntony Lesuisse
To tun the tests: createdb t /server/openerp-server --addons-path=addons,web/addons server -d t -i web_tests_demo Once the server is ready, run, in an other shell: /server/openerp-server --addons-path=addons,web/addons testjs bzr revid: al@openerp.com-20121209024810-cdi2s9ftr97x8l5p
2012-11-15[IMP] timeout disciplineXavier Morel
* Global timeout significantly increased to correctly handle e.g. db creation and teardown * Per-test timeout brought back down to 2s bzr revid: xmo@openerp.com-20121115091501-ys8opo0ccr3dq29h
2012-10-30[FIX] add JS test integration with unittest/runbot runnerXavier Morel
bzr revid: xmo@openerp.com-20121030132106-gggi4vmwjwq4l2mj