Some checks failed
continuous-integration/drone/pr Build is failing
This reverts commit 6ab60998d4f716aded93bb3b5d15594fc5e0434a.
70 lines
2.8 KiB
TypeScript
70 lines
2.8 KiB
TypeScript
import axios from 'axios';
|
|
import { config } from '../../config';
|
|
|
|
const base = "http://localhost:" + config.internal_port
|
|
|
|
const axios_config = {
|
|
validateStatus: undefined
|
|
};;
|
|
|
|
beforeAll(async () => {
|
|
jest.setTimeout(20000);
|
|
const res_login = await axios.post(base + '/api/auth/login', { username: "demo", password: "demo" });
|
|
await axios.post(base + '/api/users', {
|
|
"firstname": "demo_reset",
|
|
"middlename": "demo_reset",
|
|
"lastname": "demo_reset",
|
|
"username": "demo_reset",
|
|
"password": "demo_reset",
|
|
"email": "demo_reset1@dev.lauf-fuer-kaya.de"
|
|
}, {
|
|
headers: { "authorization": "Bearer " + res_login.data["access_token"] },
|
|
validateStatus: undefined
|
|
});
|
|
await axios.post(base + '/api/users', {
|
|
"firstname": "demo_reset2",
|
|
"middlename": "demo_reset2",
|
|
"lastname": "demo_reset2",
|
|
"username": "demo_reset2",
|
|
"password": "demo_reset2",
|
|
"email": "demo_reset2@dev.lauf-fuer-kaya.de"
|
|
}, {
|
|
headers: { "authorization": "Bearer " + res_login.data["access_token"] },
|
|
validateStatus: undefined
|
|
});
|
|
});
|
|
|
|
describe('POST /api/auth/reset valid', () => {
|
|
let reset_token;
|
|
it('valid reset token request should return 200 (500 w/o correct auth)', async () => {
|
|
const res1 = await axios.post(base + '/api/auth/reset', { email: "demo_reset1@dev.lauf-fuer-kaya.de" }, axios_config);
|
|
reset_token = res1.data.resetToken;
|
|
expect(res1.status).toEqual(200);
|
|
});
|
|
});
|
|
// ---------------
|
|
describe('POST /api/auth/reset invalid requests', () => {
|
|
it('request another password reset before the timeout should return 406', async () => {
|
|
const res1 = await axios.post(base + '/api/auth/reset', { email: "demo_reset2@dev.lauf-fuer-kaya.de" }, axios_config);
|
|
const res2 = await axios.post(base + '/api/auth/reset', { email: "demo_reset2@dev.lauf-fuer-kaya.de" }, axios_config);
|
|
expect(res2.status).toEqual(406);
|
|
});
|
|
});
|
|
// ---------------
|
|
describe('POST /api/auth/reset invalid token', () => {
|
|
it('providing a invalid reset token should return 401', async () => {
|
|
const res2 = await axios.post(base + '/api/auth/reset/' + "123123", { password: "demo" }, axios_config);
|
|
expect(res2.status).toEqual(401);
|
|
});
|
|
it('providing no reset token should return 400', async () => {
|
|
const res2 = await axios.post(base + '/api/auth/reset/' + "", { password: "demo" }, axios_config);
|
|
expect(res2.status).toEqual(400);
|
|
});
|
|
});
|
|
// ---------------
|
|
describe('POST /api/auth/reset invalid body', () => {
|
|
it('providing no password should return 400', async () => {
|
|
const res2 = await axios.post(base + '/api/auth/reset/' + "123123", null, axios_config);
|
|
expect(res2.status).toEqual(400);
|
|
});
|
|
}); |