├── .github └── workflows │ ├── test.yml │ └── trigger_partner_docs_update.yml ├── .gitignore ├── DIFF.md ├── LEARNING.md ├── README.md ├── consumer ├── .env ├── .eslintrc.json ├── package-lock.json ├── package.json ├── public │ ├── index.html │ └── sad_panda.gif └── src │ ├── App.css │ ├── App.js │ ├── ErrorBoundary.js │ ├── Heading.js │ ├── Layout.js │ ├── ProductPage.js │ ├── api.js │ ├── api.pact.spec.js │ ├── api.spec.js │ ├── index.css │ ├── index.js │ └── logo.svg ├── diagrams ├── workshop_step1.svg ├── workshop_step10_broker.svg ├── workshop_step1_class-sequence-diagram.svg ├── workshop_step1_failed_page.png ├── workshop_step2_failed_page.png ├── workshop_step2_unit_test.svg ├── workshop_step3_pact.svg ├── workshop_step4_pact.svg └── workshop_step5_pact.svg ├── docker-compose.yaml ├── package.json └── provider ├── .eslintrc.json ├── middleware └── auth.middleware.js ├── package-lock.json ├── package.json ├── product ├── product.controller.js ├── product.js ├── product.pact.test.js ├── product.repository.js └── product.routes.js └── server.js /.github/workflows/test.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pact-foundation/pact-workshop-js/HEAD/.github/workflows/test.yml -------------------------------------------------------------------------------- /.github/workflows/trigger_partner_docs_update.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pact-foundation/pact-workshop-js/HEAD/.github/workflows/trigger_partner_docs_update.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pact-foundation/pact-workshop-js/HEAD/.gitignore -------------------------------------------------------------------------------- /DIFF.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pact-foundation/pact-workshop-js/HEAD/DIFF.md -------------------------------------------------------------------------------- /LEARNING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pact-foundation/pact-workshop-js/HEAD/LEARNING.md -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pact-foundation/pact-workshop-js/HEAD/README.md -------------------------------------------------------------------------------- /consumer/.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pact-foundation/pact-workshop-js/HEAD/consumer/.env -------------------------------------------------------------------------------- /consumer/.eslintrc.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pact-foundation/pact-workshop-js/HEAD/consumer/.eslintrc.json -------------------------------------------------------------------------------- /consumer/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pact-foundation/pact-workshop-js/HEAD/consumer/package-lock.json -------------------------------------------------------------------------------- /consumer/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pact-foundation/pact-workshop-js/HEAD/consumer/package.json -------------------------------------------------------------------------------- /consumer/public/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pact-foundation/pact-workshop-js/HEAD/consumer/public/index.html -------------------------------------------------------------------------------- /consumer/public/sad_panda.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pact-foundation/pact-workshop-js/HEAD/consumer/public/sad_panda.gif -------------------------------------------------------------------------------- /consumer/src/App.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pact-foundation/pact-workshop-js/HEAD/consumer/src/App.css -------------------------------------------------------------------------------- /consumer/src/App.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pact-foundation/pact-workshop-js/HEAD/consumer/src/App.js -------------------------------------------------------------------------------- /consumer/src/ErrorBoundary.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pact-foundation/pact-workshop-js/HEAD/consumer/src/ErrorBoundary.js -------------------------------------------------------------------------------- /consumer/src/Heading.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pact-foundation/pact-workshop-js/HEAD/consumer/src/Heading.js -------------------------------------------------------------------------------- /consumer/src/Layout.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pact-foundation/pact-workshop-js/HEAD/consumer/src/Layout.js -------------------------------------------------------------------------------- /consumer/src/ProductPage.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pact-foundation/pact-workshop-js/HEAD/consumer/src/ProductPage.js -------------------------------------------------------------------------------- /consumer/src/api.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pact-foundation/pact-workshop-js/HEAD/consumer/src/api.js -------------------------------------------------------------------------------- /consumer/src/api.pact.spec.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pact-foundation/pact-workshop-js/HEAD/consumer/src/api.pact.spec.js -------------------------------------------------------------------------------- /consumer/src/api.spec.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pact-foundation/pact-workshop-js/HEAD/consumer/src/api.spec.js -------------------------------------------------------------------------------- /consumer/src/index.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pact-foundation/pact-workshop-js/HEAD/consumer/src/index.css -------------------------------------------------------------------------------- /consumer/src/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pact-foundation/pact-workshop-js/HEAD/consumer/src/index.js -------------------------------------------------------------------------------- /consumer/src/logo.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pact-foundation/pact-workshop-js/HEAD/consumer/src/logo.svg -------------------------------------------------------------------------------- /diagrams/workshop_step1.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pact-foundation/pact-workshop-js/HEAD/diagrams/workshop_step1.svg -------------------------------------------------------------------------------- /diagrams/workshop_step10_broker.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pact-foundation/pact-workshop-js/HEAD/diagrams/workshop_step10_broker.svg -------------------------------------------------------------------------------- /diagrams/workshop_step1_class-sequence-diagram.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pact-foundation/pact-workshop-js/HEAD/diagrams/workshop_step1_class-sequence-diagram.svg -------------------------------------------------------------------------------- /diagrams/workshop_step1_failed_page.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pact-foundation/pact-workshop-js/HEAD/diagrams/workshop_step1_failed_page.png -------------------------------------------------------------------------------- /diagrams/workshop_step2_failed_page.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pact-foundation/pact-workshop-js/HEAD/diagrams/workshop_step2_failed_page.png -------------------------------------------------------------------------------- /diagrams/workshop_step2_unit_test.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pact-foundation/pact-workshop-js/HEAD/diagrams/workshop_step2_unit_test.svg -------------------------------------------------------------------------------- /diagrams/workshop_step3_pact.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pact-foundation/pact-workshop-js/HEAD/diagrams/workshop_step3_pact.svg -------------------------------------------------------------------------------- /diagrams/workshop_step4_pact.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pact-foundation/pact-workshop-js/HEAD/diagrams/workshop_step4_pact.svg -------------------------------------------------------------------------------- /diagrams/workshop_step5_pact.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pact-foundation/pact-workshop-js/HEAD/diagrams/workshop_step5_pact.svg -------------------------------------------------------------------------------- /docker-compose.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pact-foundation/pact-workshop-js/HEAD/docker-compose.yaml -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pact-foundation/pact-workshop-js/HEAD/package.json -------------------------------------------------------------------------------- /provider/.eslintrc.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pact-foundation/pact-workshop-js/HEAD/provider/.eslintrc.json -------------------------------------------------------------------------------- /provider/middleware/auth.middleware.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pact-foundation/pact-workshop-js/HEAD/provider/middleware/auth.middleware.js -------------------------------------------------------------------------------- /provider/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pact-foundation/pact-workshop-js/HEAD/provider/package-lock.json -------------------------------------------------------------------------------- /provider/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pact-foundation/pact-workshop-js/HEAD/provider/package.json -------------------------------------------------------------------------------- /provider/product/product.controller.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pact-foundation/pact-workshop-js/HEAD/provider/product/product.controller.js -------------------------------------------------------------------------------- /provider/product/product.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pact-foundation/pact-workshop-js/HEAD/provider/product/product.js -------------------------------------------------------------------------------- /provider/product/product.pact.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pact-foundation/pact-workshop-js/HEAD/provider/product/product.pact.test.js -------------------------------------------------------------------------------- /provider/product/product.repository.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pact-foundation/pact-workshop-js/HEAD/provider/product/product.repository.js -------------------------------------------------------------------------------- /provider/product/product.routes.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pact-foundation/pact-workshop-js/HEAD/provider/product/product.routes.js -------------------------------------------------------------------------------- /provider/server.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pact-foundation/pact-workshop-js/HEAD/provider/server.js --------------------------------------------------------------------------------