Your final 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 final 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 final 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 final project does not define the testcafe and testcafe-development scripts, you can find them in the meteor-application-template-react package.json.
If your final 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 final project’s github.io site that indicates your final project’s build status. To do this:
First, edit the first line of your final project’s ci.yml file to rename the workflow to your final 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 final project’s build.
TestCafe tests and continuous integration should be implemented by the second milestone of your final project.