Your project should provide a set of acceptance tests with the following criteria:
Implemented using TestCafe and the Page Object Model design pattern, similar to BowFolios.
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.
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.
Your github.io site should display a “badge” allowing readers to know the CI status of your project.
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
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.
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.
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:
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.
TestCafe tests and continuous integration should be implemented by the milestone 5 of your project.