Skip to content

Commit 9ecfde5

Browse files
committed
add basic docs about JS test suite
1 parent eeb38f9 commit 9ecfde5

File tree

1 file changed

+54
-10
lines changed

1 file changed

+54
-10
lines changed

docs/source/developer-guide.rst

+54-10
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ Developer Guide
99

1010
This project uses the `GitHub Flow`_ (more detail :ref:`below <Making a Pull Request>`)
1111
for collaboration and consists primarily of Python code and Javascript code. A variety
12-
of tools are used to aid in its development. Below is a short list of the tools which
13-
will be most commonly referenced in the sections to follow:
12+
of tools are used to aid in its development. Below is a brief list of the most commonly
13+
used tools:
1414

1515
.. list-table::
1616
:header-rows: 1
@@ -75,16 +75,38 @@ about how to get started. To make a change to IDOM you'll do the following:
7575
Development Environment
7676
-----------------------
7777

78-
If you've already :ref:
79-
In order to work with IDOM's source code you'll need to install Git_ (or `Git Bash`_ on
80-
Windows). Once done you can clone a local copy of this repository:
78+
In order to develop IDOM locally you'll first need to install the following:
79+
80+
.. list-table::
81+
:header-rows: 1
82+
83+
* - What to Install
84+
- How to Install
85+
86+
* - Git_
87+
- https://git-scm.com/book/en/v2/Getting-Started-Installing-Git
88+
89+
* - Python_ >= 3.7
90+
- https://realpython.com/installing-python/
91+
92+
* - NodeJS >= 14
93+
- https://nodejs.org/en/download/package-manager/
94+
95+
* - NPM >= 7.7
96+
- https://docs.npmjs.com/try-the-latest-stable-version-of-npm
97+
98+
.. note::
99+
100+
NodeJS distributes a version of NPM, but you'll want to get the latest
101+
102+
Once done, you can clone a local copy of this repository:
81103

82104
.. code-block:: bash
83105
84106
git clone https://github.com/idom-team/idom.git
85107
cd idom
86108
87-
At this point you should be able to run the command below to:
109+
Then, you should be able to run the command below to:
88110

89111
- Install an editable version of the Python code
90112

@@ -102,20 +124,26 @@ If you modify any Javascript, you'll need to re-install IDOM:
102124
103125
pip install -e .
104126
105-
However you may also ``cd`` to the ``idom/client/app`` directory which contains a
127+
However you may also ``cd`` to the ``src/idom/client/app`` directory which contains a
106128
``package.json`` that you can use to run standard ``npm`` commands from.
107129

108130

109131
Running The Tests
110132
-----------------
111133

112-
The test suite for IDOM is executed using Nox_ and covers:
134+
The test suite for IDOM uses Nox_ and NPM_ in order to validate:
113135

114136
1. Server-side Python code with PyTest_
115137

116-
2. The end-to-end application using Selenium_
138+
2. The end-to-end application using Selenium_ in Python
139+
140+
3. Client-side Javascript code with UVU_
141+
117142

118-
To run the full suite of tests you'll need to install:
143+
Running Python Tests
144+
....................
145+
146+
To run the full suite of Python tests you'll need to install:
119147

120148
- `Google Chrome`_
121149

@@ -145,6 +173,21 @@ You can pass other options to pytest in a similar manner:
145173
nox -s test -- pytest[arg,--flag,--key=value]
146174
147175
176+
Running Javascript Tests
177+
........................
178+
179+
If you've already run ``npm install`` inside the ``src/idom/client/app`` directory, you
180+
can execute the suite of workspace tests under ``packages/*`` with:
181+
182+
.. code-block::
183+
184+
npm test
185+
186+
As a final check, you might want to run ``npm run build``. This command is run in the
187+
top-level ``setup.py`` installation script for the Python package, so if this command
188+
fails, the installation of the Python package with ``pip`` will too.
189+
190+
148191
Code Quality Checks
149192
-------------------
150193

@@ -247,3 +290,4 @@ to their respective documentation in the links below
247290
.. _Black: https://github.com/psf/black
248291
.. _Flake8: https://flake8.pycqa.org/en/latest/
249292
.. _ISort: https://pycqa.github.io/isort/
293+
.. _UVU: https://github.com/lukeed/uvu

0 commit comments

Comments
 (0)