From 5b99575d797e322faa8b7340cb7f9409229a5206 Mon Sep 17 00:00:00 2001
From: sellers3
Date: Sun, 1 Dec 2019 23:35:14 +0000
Subject: [PATCH 1/5] Fixed pdf linting
---
modules/pdf.js | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/modules/pdf.js b/modules/pdf.js
index 6c91153..8133271 100644
--- a/modules/pdf.js
+++ b/modules/pdf.js
@@ -10,15 +10,15 @@ module.exports = class Order {
createPDF(data) {
console.log('data = ', data)
const doc = new pdf()
- doc.text(20, 20, 'Menu')
- doc.text(20, 30, 'Name')
- doc.text(100, 30, 'Type')
- doc.text(140, 30, 'Price')
+ doc.text(20, 20, 'Menu')
+ doc.text(20, 30, 'Name')
+ doc.text(100, 30, 'Type')
+ doc.text(140, 30, 'Price')
let line = 40
for(let i = 0; i< data.itemName.length; i++) {
- doc.text(20, line, data.itemName[i])
- doc.text(100, line, data.itemType[i])
- doc.text(140, line,`£ ${data.itemPrice[i]}`)
+ doc.text(20, line, data.itemName[i])
+ doc.text(100, line, data.itemType[i])
+ doc.text(140, line,`£ ${data.itemPrice[i]}`)
line = line + 10
}
doc.setProperties({
From 38e77e614ba07f03d943b7365f78a368b880c08b Mon Sep 17 00:00:00 2001
From: sellers3
Date: Sun, 1 Dec 2019 23:59:01 +0000
Subject: [PATCH 2/5] yml
---
.gitlab-ci.yml | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 7f2241a..0f7d7b7 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -2,8 +2,8 @@ image: node:10.0.0
stages:
- build
- - code-testing
- - acceptance-testing
+ - quality-check
+ - testing
install-dependencies:
stage: build
@@ -14,13 +14,13 @@ install-dependencies:
- node_modules/
linting:
- stage: code-testing
+ stage: quality-check
script:
- npm install
- npm run linter
unit-testing:
- stage: acceptance-testing
+ stage: testing
script:
- npm install
- apt-get update
@@ -28,7 +28,7 @@ unit-testing:
- npm run test
code-coverage:
- stage: acceptance-testing
+ stage: testing
script:
- npm install
- apt-get update
@@ -36,7 +36,7 @@ code-coverage:
- npm run coverage
acceptance-tests:
- stage: acceptance-testing
+ stage: testing
script:
- npm install --only=dev
- apt-get update
From c9878de0f9058816293c55c67f8ad6c9c1a987f9 Mon Sep 17 00:00:00 2001
From: sellers3
Date: Mon, 2 Dec 2019 01:16:39 +0000
Subject: [PATCH 3/5] tested authentication
---
acceptance tests/admin.test.js | 4 ++-
acceptance tests/staff.test.js | 60 ++++++++++++++++++++++++++++++++++
routes/user.js | 1 +
views/register.handlebars | 2 +-
4 files changed, 65 insertions(+), 2 deletions(-)
create mode 100644 acceptance tests/staff.test.js
diff --git a/acceptance tests/admin.test.js b/acceptance tests/admin.test.js
index e3f3aab..ad607b5 100644
--- a/acceptance tests/admin.test.js
+++ b/acceptance tests/admin.test.js
@@ -5,7 +5,7 @@ const puppeteer = require('puppeteer')
const { configureToMatchImageSnapshot } = require('jest-image-snapshot')
const width = 800
const height = 600
-const delayMS = 10
+const delayMS = 100
const shell = require('shelljs')
let browser
@@ -32,6 +32,8 @@ describe('menu', () => {
test('Main Menu', async done => {
+ jest.setTimeout(30000)
+
await page.goto('http://localhost:8080/login', { timeout: 30000, waitUntil: 'load' })
await page.goto('http://localhost:8080/login', { timeout: 30000, waitUntil: 'load' })
diff --git a/acceptance tests/staff.test.js b/acceptance tests/staff.test.js
new file mode 100644
index 0000000..335b612
--- /dev/null
+++ b/acceptance tests/staff.test.js
@@ -0,0 +1,60 @@
+/* eslint-disable max-len */
+'use strict'
+
+const puppeteer = require('puppeteer')
+const { configureToMatchImageSnapshot } = require('jest-image-snapshot')
+const width = 800
+const height = 600
+const delayMS = 100
+const shell = require('shelljs')
+
+let browser
+let page
+
+// threshold is the difference in pixels before the snapshots dont match
+const toMatchImageSnapshot = configureToMatchImageSnapshot({
+ customDiffConfig: { threshold: 2 },
+ noColors: true,
+})
+expect.extend({ toMatchImageSnapshot })
+
+beforeAll( async() => {
+ browser = await puppeteer.launch({ headless: false, slowMo: delayMS, args: [`--window-size=${width},${height}`, '--no-sandbox'] })
+ page = await browser.newPage()
+ await page.setViewport({ width, height })
+})
+
+beforeEach( () => shell.exec('./abolishDB.sh'))
+
+afterAll( () => browser.close() )
+
+describe('menu', () => {
+
+ test('Main Menu', async done => {
+
+ jest.setTimeout(30000)
+
+ await page.goto('http://localhost:8080/login', { timeout: 30000, waitUntil: 'load' })
+ await page.goto('http://localhost:8080/login', { timeout: 30000, waitUntil: 'load' })
+
+ await page.click('[href="/register"]')
+
+ await page.select('select[name=auth]', 'Kitchen')
+ await page.type('input[name=user]', 'Craig')
+ await page.type('input[name=pass]', 'bread')
+
+ await page.click('input[type=submit]')
+
+ await page.type('input[name=user]', 'Craig')
+ await page.type('input[name=pass]', 'bread')
+
+ await page.click('input[type=submit]')
+
+ await page.click('button[name=Order]')
+ const title = await page.title()
+ expect(title).toBe('Main Menu')
+
+ done()
+
+ })
+})
diff --git a/routes/user.js b/routes/user.js
index e4c5da5..b97d873 100644
--- a/routes/user.js
+++ b/routes/user.js
@@ -35,6 +35,7 @@ router.post('/register', koaBody, async ctx => {
try {
// extract the data from the request
const body = ctx.request.body
+ console.log(body)
// call the functions in the module
const user = await new User(dbUsers)
await user.register(body.user, body.pass, body.auth)
diff --git a/views/register.handlebars b/views/register.handlebars
index ae77efb..9c229dd 100644
--- a/views/register.handlebars
+++ b/views/register.handlebars
@@ -16,7 +16,7 @@
Username:
From 771ed6d5516c4cd893d73763cfb3e40cc1770291 Mon Sep 17 00:00:00 2001
From: sellers3
Date: Mon, 2 Dec 2019 01:52:28 +0000
Subject: [PATCH 4/5] added headless
---
acceptance tests/staff.test.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/acceptance tests/staff.test.js b/acceptance tests/staff.test.js
index 335b612..a8dc669 100644
--- a/acceptance tests/staff.test.js
+++ b/acceptance tests/staff.test.js
@@ -19,7 +19,7 @@ const toMatchImageSnapshot = configureToMatchImageSnapshot({
expect.extend({ toMatchImageSnapshot })
beforeAll( async() => {
- browser = await puppeteer.launch({ headless: false, slowMo: delayMS, args: [`--window-size=${width},${height}`, '--no-sandbox'] })
+ browser = await puppeteer.launch({ headless: true, slowMo: delayMS, args: [`--window-size=${width},${height}`, '--no-sandbox'] })
page = await browser.newPage()
await page.setViewport({ width, height })
})
From 2986382559b33d6410b8e5e03272a0751b8fd396 Mon Sep 17 00:00:00 2001
From: sellers3
Date: Mon, 2 Dec 2019 02:14:08 +0000
Subject: [PATCH 5/5] added pdf to package.json
---
modules/pdf.js | 6 +-----
routes/menu.js | 1 +
2 files changed, 2 insertions(+), 5 deletions(-)
diff --git a/modules/pdf.js b/modules/pdf.js
index 8133271..969cb50 100644
--- a/modules/pdf.js
+++ b/modules/pdf.js
@@ -28,14 +28,10 @@ module.exports = class Order {
keywords: 'Menu, Restaurant, Price,',
creator: 'User'})
doc.addPage()
- //doc.setFontSize(22)
- //doc.text(20, 20, 'This is a title')
- //doc.setFontSize(16)
- //doc.text(20, 30, 'This is some normal sized text underneath.')
const fileName = `testFile${new Date().getSeconds()}.pdf`
// eslint-disable-next-line handle-callback-err
fs.writeFile(fileName, doc.output(), (err, data) => {
- console.log(`${fileName } was created! great success!`)
+ console.log(`${fileName} was created! great success!`)
})
}
}
diff --git a/routes/menu.js b/routes/menu.js
index 9c0d99c..e911ad3 100644
--- a/routes/menu.js
+++ b/routes/menu.js
@@ -92,6 +92,7 @@ router.get('/menu', async ctx => {
router.post('/menu', async ctx => {
try {
const body = ctx.request.body
+ console.log(body)
const pdf = new PDF()
pdf.createPDF(body)
ctx.redirect('/menu')