import axios from 'axios'; import { config } from '../config'; const base = "http://localhost:" + config.internal_port const axios_config = { validateStatus: undefined }; describe('POST /reset without auth', () => { it('Post without auth should return 401', async () => { const res = await axios.post(base + '/reset', null, axios_config); expect(res.status).toEqual(401); }); }); describe('POST /reset with auth but wrong body', () => { it('Post with auth but no body should return 400', async () => { const res = await axios.post(base + '/reset?key=' + config.api_key, null, axios_config); expect(res.status).toEqual(400); }); it('Post with auth but no mail should return 400', async () => { const res = await axios.post(base + '/reset?key=' + config.api_key, { resetKey: "test" }, axios_config); expect(res.status).toEqual(400); }); it('Post with auth but no reset key should return 400', async () => { const res = await axios.post(base + '/reset?key=' + config.api_key, { address: "test@dev.lauf-fuer-kaya.de" }, axios_config); expect(res.status).toEqual(400); }); it('Post with auth but invalid mail should return 400', async () => { const res = await axios.post(base + '/reset?key=' + config.api_key, { resetKey: "test", address: "testdev.l.de" }, axios_config); expect(res.status).toEqual(400); }); }); describe('POST /reset with auth and vaild body', () => { it('Post with auth, body and no locale should return 200', async () => { const res = await axios.post(base + '/reset?key=' + config.api_key, { resetKey: "test", address: "test@dev.lauf-fuer-kaya.de" }, axios_config); expect(res.status).toEqual(200); expect(res.data).toEqual({ success: true, message: "Sent!", locale: "en" }) }); it('Post with auth, body and locale=en should return 200', async () => { const res = await axios.post(base + '/reset?locale=en&key=' + config.api_key, { resetKey: "test", address: "test@dev.lauf-fuer-kaya.de" }, axios_config); expect(res.status).toEqual(200); expect(res.data).toEqual({ success: true, message: "Sent!", locale: "en" }) }); it('Post with auth, body and locale=de should return 200', async () => { const res = await axios.post(base + '/reset?locale=de&key=' + config.api_key, { resetKey: "test", address: "test@dev.lauf-fuer-kaya.de" }, axios_config); expect(res.status).toEqual(200); expect(res.data).toEqual({ success: true, message: "Sent!", locale: "de" }) }); });