aboutsummaryrefslogtreecommitdiffstats
path: root/docs/install/testing.md
diff options
context:
space:
mode:
authorMatthew Somerville <matthew-github@dracos.co.uk>2018-10-03 13:10:24 +0100
committerMatthew Somerville <matthew-github@dracos.co.uk>2018-10-03 13:10:24 +0100
commit4186ebbc258326d05915bef0ffb15cd364f6be67 (patch)
tree175406b3cd498c9e9a982808398e0fecbf06d6a1 /docs/install/testing.md
parentee3c4e05daf3f4df01762ead3d07697a12f13a28 (diff)
Add page on testing, update manual install.
Diffstat (limited to 'docs/install/testing.md')
-rw-r--r--docs/install/testing.md47
1 files changed, 47 insertions, 0 deletions
diff --git a/docs/install/testing.md b/docs/install/testing.md
new file mode 100644
index 000000000..b63dfffcc
--- /dev/null
+++ b/docs/install/testing.md
@@ -0,0 +1,47 @@
+---
+layout: page
+title: Testing
+---
+
+# Testing
+
+<p class="lead">
+ This page describes how to run FixMyStreet’s test suite.
+</p>
+
+## Server testing
+
+You can run the test suite for the backend codebase by running the following
+command in the `fixmystreet` directory:
+
+{% highlight bash %}
+$ script/test
+{% endhighlight %}
+
+The `master` branch of the repository should always be passing all tests for
+our developers and on mySociety's servers.
+
+## Client testing
+
+To run the front-end tests, you will need to install
+[Cypress](https://cypress.io) using `npm` (not direct download), and the
+`cypress` command needs to be on your `PATH`. Then you can run the front-end
+tests headlessly using:
+
+{% highlight bash %}
+$ bin/browser-tests run
+{% endhighlight %}
+
+This uses its own test server and database, not affecting your development
+database. If you wish to run the tests interactively for debugging, use:
+
+{% highlight bash %}
+$ bin/browser-tests open
+{% endhighlight %}
+
+If you're running FixMyStreet in a Vagrant box, you can use this script to run
+the test server in the VM and Cypress outside of it:
+
+{% highlight bash %}
+$ bin/browser-tests --vagrant run
+{% endhighlight %}