Skip to content

Commit e2fb17f

Browse files
committed
Merge branch 'development' into drew/codebase-cleaning
2 parents 52b8a9a + 56c9e7a commit e2fb17f

File tree

9 files changed

+174
-76
lines changed

9 files changed

+174
-76
lines changed

__tests__/ServerRoutes.test.js

Lines changed: 119 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,38 @@
11
const supertest = require('supertest');
22
const request = require('supertest');
3-
const assert = require('assert');
3+
const response = require('supertest');
44
const express = require('express');
55
import {describe, beforeEach, expect, test, jest} from '@jest/globals';
6-
76
const app = express();
87

8+
const signupRouter = require('../server/routes/signupRouter');
9+
const loginRouter = require('../server/routes/loginRouter');
10+
const adminRouter = require('../server/routes/adminRouter');
11+
const accountRouter = require('../server/routes/accountRouter');
12+
const apiRouter = require('../server/routes/apiRouter');
13+
const dbRouter = require('../server/routes/dbRouter');
14+
const initRouter = require('../server/routes/initRouter');
15+
const logoutRouter = require('../server/routes/logoutRouter');
16+
const settingsRouter = require('../server/routes/settingsRouter');
17+
18+
19+
920
app.use('/test', (req, res) => {
1021
res.status(200).json({
1122
success: true,
1223
});
1324
});
25+
app.use('/signup', signupRouter);
26+
app.use('/settings', settingsRouter);
27+
app.use('/init', initRouter);
28+
app.use('/login', loginRouter);
29+
app.use('/admin', adminRouter);
30+
app.use('/account', accountRouter);
31+
app.use('/api', apiRouter);
32+
app.use('/db', dbRouter);
33+
app.use('/logout', logoutRouter);
1434

15-
describe('/test route', () => {
35+
xdescribe('/test route', () => {
1636
test('get request to test route', (done) => {
1737
request(app).get('/test').expect('Content-Type', /json/).expect(200, done);
1838
});
@@ -38,7 +58,8 @@ describe('/test route', () => {
3858
.send({ random: 'info' })
3959
.set('Accept', 'application/json')
4060
.expect('Content-Type', /json/)
41-
.expect(200, done);
61+
.expect(200, done)
62+
.expect(response.locals.users).toEqual(1);
4263
});
4364
});
4465

@@ -50,46 +71,124 @@ describe('/signup route', () => {
5071
test('get request', async () => {
5172
await request(app)
5273
.get('/signup')
53-
.send({ username: 'test', email: '[email protected]', password: 'password' })
54-
.expect('Content-Type', 'text/html; charset=utf-8');
74+
// .send({ username: 'test', email: 'test@test.com', password: 'password' })
75+
.expect('Content-Type', 'application/json; charset=utf-8')
76+
.expect(200)
77+
.expect(response);
5578
});
5679
test('post request', async () => {
5780
await request(app)
5881
.post('/signup')
5982
.send({
60-
username: 'test',
83+
username: 'testwer',
6184
62-
password: 'password',
85+
password: 'passwqw',
6386
phone: '+1555555555',
6487
})
6588
.set('Accept', 'application/json')
66-
.expect('Content-Type', 'text/html; charset=utf-8');
89+
.expect(200)
90+
.expect('Content-Type', 'application/json; charset=utf-8');
6791
});
6892
});
6993

7094
// setting route
71-
describe('Settings route', (done) =>{
72-
test('GET', async () => {
73-
await request(app)
74-
.get('/settings')
75-
.expect('Content-Type', 'text/html; charset=utf-8')
76-
.expect(200,done)
77-
})
78-
})
95+
describe('Settings route', () =>{
96+
test('Get request should return empty mem, cpu, stopped', async () => {
97+
await request(app)
98+
.get('/settings')
99+
.expect('Content-Type', 'application/json; charset=utf-8')
100+
.expect(200)
101+
.expect(response);
102+
});
103+
xtest('Post request', async () => {
104+
await request(app)
105+
.post('/settings/insert')
106+
.send({
107+
container: ['test', 'value'],
108+
name: 'testname',
109+
metric: 'hello'
110+
})
111+
.expect('Content-Type', 'application/json; charset=utf-8')
112+
.expect(200)
113+
.expect(response);
114+
});
115+
});
116+
79117
// logout route
118+
describe('Logout Route', () => {
119+
test('Get request', () => {
120+
request(app)
121+
.get('/logout')
122+
.expect('Content-Type', 'application/json; charset=utf-8')
123+
.expect(200)
124+
.expect(response);
125+
});
126+
});
80127

81128
// login route
129+
describe('Login Route', () => {
130+
test('Get request', () => {
131+
request(app)
132+
.get('/login')
133+
.expect('Content-Type', 'application/json; charset=utf-8')
134+
.expect(200)
135+
.expect(response);
136+
});
137+
});
82138

83139
// init route
140+
describe('Init Route', () => {
141+
test('Get request', () => {
142+
request(app)
143+
.get('/init')
144+
.expect('Content-Type', 'application/json; charset=utf-8')
145+
.expect(200)
146+
.expect(response);
147+
});
148+
});
84149

85150
// db route
86-
151+
describe('Db Route', () => {
152+
test('Get request', () => {
153+
request(app)
154+
.get('/db')
155+
.expect('Content-Type', 'application/json; charset=utf-8')
156+
.expect(200)
157+
.expect(response);
158+
});
159+
});
87160
// api route
88-
161+
describe('Api Route', () => {
162+
test('Get request', () => {
163+
request(app)
164+
.get('/api')
165+
.expect('Content-Type', 'application/json; charset=utf-8')
166+
.expect(200)
167+
.expect(response);
168+
});
169+
});
89170
// admin route
90-
171+
describe('Admin Route', () => {
172+
test('Get request', () => {
173+
request(app)
174+
.get('/admin')
175+
.expect('Content-Type', 'application/json; charset=utf-8')
176+
.expect(200)
177+
.expect(response);
178+
});
179+
});
91180
// account route
92181

182+
describe('Account Route', () => {
183+
test('Get request', () => {
184+
request(app)
185+
.get('/account')
186+
.expect('Content-Type', 'application/json; charset=utf-8')
187+
.expect(200)
188+
.expect(response);
189+
});
190+
});
191+
93192
// const server = require('../server/app');
94193

95194
// const request = supertest(server);

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,8 @@
4040
"react-router-dom": "^6.4.1",
4141
"react-scripts": "^5.0.1",
4242
"redux": "^4.2.0",
43-
"redux-thunk": "^2.4.1"
43+
"redux-thunk": "^2.4.1",
44+
"regenerator-runtime": "^0.13.11"
4445
},
4546
"devDependencies": {
4647
"@babel/core": "^7.19.3",

server/app.js

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,8 @@ const path = require('path');
33
const cors = require('cors');
44
const colors = require('colors');
55

6-
// Routers
7-
// sign up for sysadmin to add new users to their account
86
const signupRouter = require('./routes/signupRouter');
9-
// sign up for new sysadmin users
7+
108
const signupSysAdminRouter = require('./routes/signupSysAdminRouter');
119
const loginRouter = require('./routes/loginRouter');
1210
const adminRouter = require('./routes/adminRouter');
@@ -19,9 +17,9 @@ const settingsRouter = require('./routes/settingsRouter');
1917

2018
const app = express();
2119

22-
app.use(express.json()); // parses the request body
23-
app.use(express.urlencoded({ extended: true })); // parses urlencoded payloads
24-
app.use(cors()); // enables ALL cors requests
20+
app.use(express.json());
21+
app.use(express.urlencoded({ extended: true }));
22+
app.use(cors());
2523

2624
app.use('/test', (req, res) => {
2725
res.status(200).json({
@@ -31,30 +29,24 @@ app.use('/test', (req, res) => {
3129

3230
app.use('/settings', settingsRouter);
3331
app.use('/init', initRouter);
34-
// sign up for sysadmin to add new users to their account
3532
app.use('/signup', signupRouter);
36-
// sign up for new sysadmin users
37-
// app.use('/signupsysadmin', signupSysAdminRouter);
3833
app.use('/login', loginRouter);
3934
app.use('/admin', adminRouter);
4035
app.use('/account', accountRouter);
4136
app.use('/api', apiRouter);
4237
app.use('/db', dbRouter);
4338
app.use('/logout', logoutRouter);
4439

45-
// Unknown Endpoint Error Handler
4640
app.use('/', (req, res) => {
4741
/*
4842
Reads the current URL (explains why electron crashes)
4943
const url = new URL(`${req.protocol}://${req.get('host')}${req.originalUrl}`);
44+
console.log('current url',url);
5045
*/
51-
5246
// for development purposes, so we don't have to reopen electron everytime
5347
return res.status(404).redirect('/');
54-
// return res.status(404).json('404 Not Found')
5548
});
5649

57-
// Global Error Handler
5850
app.get('/', (req, res, next, err) => {
5951
const defaultErr = {
6052
log: 'Express error handler caught unknown middleware error',
@@ -66,3 +58,9 @@ app.get('/', (req, res, next, err) => {
6658
});
6759

6860
module.exports = app;
61+
62+
/*
63+
Reads the current URL (explains why electron crashes)
64+
const url = new URL(`${req.protocol}://${req.get('host')}${req.originalUrl}`);
65+
console.log('current url',url);
66+
*/

server/controllers/apiController.js

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,12 @@
22
* @module API Controller
33
* @description Contains middleware that sends emails to user for container issues and signup information
44
*/
5-
const nodemailer = require('nodemailer');
6-
const email = require('../../security/email');
5+
const nodemailer = require("nodemailer");
6+
const email = require("../../security/email");
77

88
const apiController = {};
99

10-
// create transporter object
11-
// make sure these values are filled out in email.js
10+
// create transporter object to make sure these values are filled out in email.js
1211
const transporter = nodemailer.createTransport({
1312
host: email.host,
1413
port: email.port,
@@ -24,7 +23,7 @@ apiController.sendEmailAlert = (req, res, next) => {
2423
const { email, containerName, time, date, stopped } = req.body;
2524
let emailBody;
2625

27-
if (stopped === 'true') {
26+
if (stopped === "true") {
2827
emailBody = `
2928
<h2>Alert: ${containerName} has stopped!</h2>
3029
<h3>Container <b>${containerName}</b> stopped running at <b>${time}</b> on <b>${date}</b>.</h3>
@@ -45,9 +44,9 @@ apiController.sendEmailAlert = (req, res, next) => {
4544
}
4645

4746
const mailDetails = {
48-
47+
4948
to: email,
50-
subject: 'Docketeer: Container Issue',
49+
subject: "Docketeer: Container Issue",
5150
html: `${emailBody}`,
5251
};
5352

@@ -60,7 +59,7 @@ apiController.sendEmailAlert = (req, res, next) => {
6059
return next({
6160
log: `Error in apiController sendEmailAlert: ${err}`,
6261
message: {
63-
err: 'An error occured creating new user in database. See apiController.sendEmailAlert.',
62+
err: "An error occured creating new user in database. See apiController.sendEmailAlert.",
6463
},
6564
});
6665
});
@@ -71,9 +70,9 @@ apiController.signupEmail = (req, res, next) => {
7170
const { email, username, password } = req.body;
7271

7372
const mailDetails = {
74-
73+
7574
to: email,
76-
subject: 'Docketeer: Account Details',
75+
subject: "Docketeer: Account Details",
7776
html: `
7877
<h1>Welcome to Docketeer</h1>
7978
<p>We are so excited to have you onboard!</p>
@@ -94,7 +93,7 @@ apiController.signupEmail = (req, res, next) => {
9493
return next({
9594
log: `Error in apiController signupEmail: ${err}`,
9695
message: {
97-
err: 'An error occured creating new user in database. See apiController.signupEmail.',
96+
err: "An error occured creating new user in database. See apiController.signupEmail.",
9897
},
9998
});
10099
});

0 commit comments

Comments
 (0)