bewcloud/main_test.ts

45 lines
1.2 KiB
TypeScript
Raw Normal View History

import { assertEquals } from '@std/assert';
2024-03-16 08:40:24 +00:00
import { abortController } from './main.ts';
2024-03-16 08:40:24 +00:00
const baseUrl = 'http://localhost:8000';
2024-03-16 08:40:24 +00:00
Deno.test({
name: 'HTTP Server',
fn: async () => {
let response = await fetch(`${baseUrl}/login`);
assertEquals(response.status, 200);
2024-03-16 08:40:24 +00:00
let responseText = await response.text();
assertEquals(responseText.includes('bewCloud'), true);
2024-03-16 08:40:24 +00:00
response = await fetch(`${baseUrl}/`, {
redirect: 'manual',
});
assertEquals(response.status, 303);
assertEquals(response.headers.get('Location'), `/login`);
2024-03-16 08:40:24 +00:00
response = await fetch(`${baseUrl}/blah`);
2024-03-16 08:40:24 +00:00
assertEquals(response.status, 404);
responseText = await response.text();
assertEquals(responseText.includes('404 - Page not found'), true);
const formData = new FormData();
formData.append('email', 'user@example.com');
response = await fetch(`${baseUrl}/login`, {
method: 'POST',
body: formData,
});
assertEquals(response.status, 200);
responseText = await response.text();
assertEquals(responseText.includes('Error: Password is too short'), true);
abortController.abort('Test finished');
},
sanitizeResources: false,
sanitizeOps: false,
2024-03-16 08:40:24 +00:00
});