mirror of
https://github.com/balzack/databag.git
synced 2025-04-22 09:35:16 +00:00
61 lines
1.6 KiB
TypeScript
61 lines
1.6 KiB
TypeScript
import { DatabagSDK } from '../src/index';
|
|
import { Member } from '../src/types';
|
|
|
|
|
|
export type AccountEntity = {
|
|
accountId: number;
|
|
guid: string;
|
|
handle: string;
|
|
name: string;
|
|
description: string;
|
|
location: string;
|
|
imageSet: boolean;
|
|
revision: number;
|
|
seal?: string;
|
|
version: string;
|
|
node: string;
|
|
storageUsed: number;
|
|
disabled: boolean;
|
|
};
|
|
|
|
function getAccount(id: number) {
|
|
return {
|
|
accountId: id,
|
|
guid: `account.guid.${id}`,
|
|
handle: `account.handle.${id}`,
|
|
name: 'test.name',
|
|
description: 'test.description',
|
|
location: 'test.location',
|
|
imageSet: false,
|
|
revision: 1,
|
|
version: 'test.version',
|
|
node: 'test.node',
|
|
storageUsed: 1,
|
|
disabled: false,
|
|
}
|
|
}
|
|
|
|
jest.mock('../src/net/fetchUtil', () => {
|
|
const fn = jest.fn().mockImplementation((url: string, options: { method: string, body: string }) => {
|
|
if (url === 'http://test.node/admin/access?token=test.token') {
|
|
return Promise.resolve({ state: 200, json: () => ('admin.token') });
|
|
} else if (url === 'http://test.node/admin/accounts?token=admin.token') {
|
|
const accounts = [ getAccount(1), getAccount(2), getAccount(3) ];
|
|
return Promise.resolve({ state: 200, json: () => (accounts) });
|
|
}
|
|
});
|
|
|
|
return {
|
|
fetchWithTimeout: fn,
|
|
checkResponse: () => {},
|
|
}
|
|
});
|
|
|
|
test('allocates service correctly', async () => {
|
|
let status: string = '';
|
|
const sdk = new DatabagSDK({ channelTypes: []});
|
|
const service = await sdk.configure('test.node', false, 'test.token', null);
|
|
const members = await service.getMembers();
|
|
expect(members.length === 3).toBe(true);
|
|
});
|