Initial Commit
This commit is contained in:
0
backend/test/.gitkeep
Normal file
0
backend/test/.gitkeep
Normal file
69
backend/test/api/controllers/tasks.test.ts
Normal file
69
backend/test/api/controllers/tasks.test.ts
Normal file
@ -0,0 +1,69 @@
|
||||
|
||||
import supertest = require('supertest');
|
||||
import { Task } from '../../../api/entities/Task';
|
||||
import app from '../../../api/server';
|
||||
import { initConnection, stopConnection } from '../../helper';
|
||||
|
||||
describe('/api/tasks', () => {
|
||||
let task: Task;
|
||||
beforeAll(async () => {
|
||||
task = {
|
||||
id: 1,
|
||||
title: 'Buy a new NodeJS book',
|
||||
dueDate: new Date('Januar 29, 2019 00:00:00'),
|
||||
done: false,
|
||||
} as Task;
|
||||
await initConnection();
|
||||
});
|
||||
|
||||
it('should return a 200 response for /api/tasks', () => {
|
||||
return supertest(app).get('/api/tasks')
|
||||
.set('Content-Type', 'application/json')
|
||||
.set('Accept', 'application/json')
|
||||
.expect(200);
|
||||
});
|
||||
|
||||
it('should return a 404 response for /api/lorem', () => {
|
||||
return supertest(app).get('/api/lorem').then((response) => {
|
||||
expect(response.status).toBe(404);
|
||||
});
|
||||
});
|
||||
|
||||
it('should return a 200 response for POST /api/tasks and delete the entry', (done) => {
|
||||
return supertest(app)
|
||||
.post('/api/tasks')
|
||||
.send(task)
|
||||
.set('Content-Type', 'application/json')
|
||||
.set('Accept', 'application/json')
|
||||
.expect(200)
|
||||
.end((err, res) => {
|
||||
if (err) {
|
||||
throw err;
|
||||
}
|
||||
expect(res.body.message).toBe('Task successfully created');
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
it('should UPDATE /api/tasks/1 correctly', (done) => {
|
||||
return supertest(app)
|
||||
.put('/api/tasks/1')
|
||||
.send({
|
||||
dueDate: new Date('Februar 1, 2019 00:00:00'),
|
||||
})
|
||||
.set('Content-Type', 'application/json')
|
||||
.set('Accept', 'application/json')
|
||||
.expect(200)
|
||||
.end((err, res) => {
|
||||
if (err) {
|
||||
throw err;
|
||||
}
|
||||
expect(res.body.message).toBe('Task successfully updated');
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
afterAll(async () => {
|
||||
await stopConnection();
|
||||
});
|
||||
});
|
31
backend/test/helper.ts
Normal file
31
backend/test/helper.ts
Normal file
@ -0,0 +1,31 @@
|
||||
import { Connection, ConnectionOptions, createConnection } from 'typeorm';
|
||||
|
||||
let connection: Connection;
|
||||
let initPromise: Promise<void>;
|
||||
|
||||
const dbConfig = {
|
||||
type: 'mysql',
|
||||
host: 'localhost',
|
||||
port: 3306,
|
||||
username: 'root',
|
||||
password: '',
|
||||
database: '',
|
||||
synchronise: false,
|
||||
entities: [''],
|
||||
} as ConnectionOptions;
|
||||
|
||||
export function initConnection() {
|
||||
if (initPromise) {
|
||||
return initPromise;
|
||||
}
|
||||
|
||||
initPromise = createConnection(dbConfig).then((con) => {
|
||||
connection = con;
|
||||
}).catch((error) => { throw error; });
|
||||
|
||||
return initPromise;
|
||||
}
|
||||
|
||||
export function stopConnection(): Promise<void> {
|
||||
return connection.close();
|
||||
}
|
8
backend/test/index.test.ts
Normal file
8
backend/test/index.test.ts
Normal file
@ -0,0 +1,8 @@
|
||||
|
||||
import 'jest';
|
||||
|
||||
describe('Jest Tests', () => {
|
||||
test('Verify Tests Works', () => {
|
||||
expect(true).toBeTruthy();
|
||||
});
|
||||
});
|
Reference in New Issue
Block a user