Experience testing your project

Your project should provide a set of acceptance tests with the following criteria:

  1. Implemented using TestCafe and the Page Object Model design pattern, similar to BowFolios.

  2. Providing “availability” assurance. Your acceptance tests should ensure, at a minimum, that all pages in your application can be retrieved and that all forms in your application function correctly for at least one legal set of inputs.

  3. Your project implements continuous integration using GitHub Actions, such that all commits into the master branch trigger a build of the system and the running of ESLint checks as well as your acceptance tests. Again, you can use BowFolios as a guide.

  4. Your github.io site should display a “badge” allowing readers to know the CI status of your project.

Hints

Installing the testcafe library

If your project does not have TestCafe installed (i.e. it is not present in the devDependencies section of your package.json), you can install it by going to your app/ directory and running:

$ meteor npm install --save-dev testcafe

Providing the testcafe and testcafe-development scripts

If the package.json in your project does not define the testcafe and testcafe-development scripts, you can find them in the meteor-application-template-react package.json.

Providing the GitHub Action workflow definition

If your project does not contain a .github/workflows directory with a ci.yml file, you should copy the meteor-application-template-react workflows directory with its ci.yml file.

Providing a badge on your CI status in your documentation

The meteor-application-template-react readme.md page contains a badge with the status of its GitHub Action to build and test the system. Here it is:

ci-badge

You must provide a badge in your project’s github.io site that indicates your project’s build status. To do this:

First, edit the first line of your project’s ci.yml file to rename the workflow to your project’s name.

Second, copy the following code into your github.io site:

![ci-badge](https://github.com/ics-software-engineering/meteor-application-template-react/workflows/ci-meteor-application-template-react/badge.svg)

Third, edit this line of code:

Now this badge should display the most recent results of your project’s build.

Submission Instructions

TestCafe tests and continuous integration should be implemented by the milestone 5 of your project.