@zennomi/mangadex-full-api
Version:
A MangaDex api based around the official API.
28 lines (24 loc) • 917 B
text/typescript
import 'dotenv/config';
import { getCurrentAuthClient, loginPersonal } from '../src/index';
import IDObject from '../src/internal/IDObject';
/**
* Ensures that the user is logged in. If not, logs in with the credentials provided in the environment variables.
*/
export async function ensureLogin() {
if (!getCurrentAuthClient()) {
await loginPersonal({
username: ensureEnv('MFA_TEST_USERNAME'),
password: ensureEnv('MFA_TEST_PASSWORD'),
clientId: ensureEnv('MFA_TEST_CLIENT_ID'),
clientSecret: ensureEnv('MFA_TEST_CLIENT_SECRET'),
});
}
}
export function ensureEnv(key: string) {
const val = process.env[key];
if (!val) throw new Error(`Missing environment variable: ${key}`);
return val;
}
export function expectEqualIds(arr1: IDObject[], arr2: IDObject[]) {
expect(arr1.map((a) => a.id)).toEqual(arr2.map((a) => a.id));
}