E07: Acceptance 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 test-acceptance-development, test-acceptance-single, and test-acceptance-ci 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-production package.json.

Submission Instructions

TestCafe tests should be implemented by the time and date indicated on the Schedule page. In Laulima submit a copy the results of the TestCafe tests.