mirror of
https://github.com/directus/directus.git
synced 2026-01-28 13:38:10 -05:00
Use class extension, add all basic handlers
This commit is contained in:
@@ -37,11 +37,12 @@
|
||||
- [ ] Read
|
||||
- [ ] Update
|
||||
- [ ] Delete
|
||||
- [ ] Files
|
||||
- [ ] Create (upload)
|
||||
- [ ] Read
|
||||
- [ ] Update
|
||||
- [ ] Delete
|
||||
- [x] Files
|
||||
- [x] Create
|
||||
- [x] Read
|
||||
- [x] Update
|
||||
- [x] Delete
|
||||
- [ ] Upload
|
||||
- [x] Folders
|
||||
- [x] Create
|
||||
- [x] Read
|
||||
@@ -54,39 +55,39 @@
|
||||
- [x] Read
|
||||
- [x] Update
|
||||
- [x] Delete
|
||||
- [ ] Presets
|
||||
- [ ] Create
|
||||
- [ ] Read
|
||||
- [ ] Update
|
||||
- [ ] Delete
|
||||
- [ ] Relations
|
||||
- [ ] Create
|
||||
- [ ] Read
|
||||
- [ ] Update
|
||||
- [ ] Delete
|
||||
- [ ] Revisions
|
||||
- [ ] Create
|
||||
- [ ] Read
|
||||
- [ ] Update
|
||||
- [ ] Delete
|
||||
- [ ] Roles
|
||||
- [ ] Create
|
||||
- [ ] Read
|
||||
- [ ] Update
|
||||
- [ ] Delete
|
||||
- [x] Presets
|
||||
- [x] Create
|
||||
- [x] Read
|
||||
- [x] Update
|
||||
- [x] Delete
|
||||
- [x] Relations
|
||||
- [x] Create
|
||||
- [x] Read
|
||||
- [x] Update
|
||||
- [x] Delete
|
||||
- [x] Revisions
|
||||
- [x] Create
|
||||
- [x] Read
|
||||
- [x] Update
|
||||
- [x] Delete
|
||||
- [x] Roles
|
||||
- [x] Create
|
||||
- [x] Read
|
||||
- [x] Update
|
||||
- [x] Delete
|
||||
- [x] Server
|
||||
- [x] Specs
|
||||
- [x] OAS
|
||||
- [x] Ping
|
||||
- [x] Info
|
||||
- [ ] Settings
|
||||
- [ ] Read
|
||||
- [ ] Update
|
||||
- [ ] Users
|
||||
- [ ] Create
|
||||
- [ ] Read
|
||||
- [ ] Update
|
||||
- [ ] Delete
|
||||
- [x] Settings
|
||||
- [x] Read
|
||||
- [x] Update
|
||||
- [x] Users
|
||||
- [x] Create
|
||||
- [x] Read
|
||||
- [x] Update
|
||||
- [x] Delete
|
||||
- [ ] Invite
|
||||
- [ ] Accept Invite
|
||||
- [ ] Enable TFA
|
||||
|
||||
8
packages/sdk-js/src/handlers/files.ts
Normal file
8
packages/sdk-js/src/handlers/files.ts
Normal file
@@ -0,0 +1,8 @@
|
||||
import { AxiosInstance } from 'axios';
|
||||
import { ItemsHandler } from './items';
|
||||
|
||||
export class FilesHandler extends ItemsHandler {
|
||||
constructor(axios: AxiosInstance) {
|
||||
super('directus_files', axios);
|
||||
}
|
||||
}
|
||||
@@ -1,49 +1,8 @@
|
||||
import { Query, Item, Payload, Response, PrimaryKey } from '../types';
|
||||
import { AxiosInstance } from 'axios';
|
||||
import { ItemsHandler } from './items';
|
||||
|
||||
export class FoldersHandler {
|
||||
private itemsHandler: ItemsHandler;
|
||||
|
||||
export class FoldersHandler extends ItemsHandler {
|
||||
constructor(axios: AxiosInstance) {
|
||||
this.itemsHandler = new ItemsHandler('directus_folders', axios);
|
||||
}
|
||||
|
||||
async create(payload: Payload, query?: Query): Promise<Response<Item>>;
|
||||
async create(payloads: Payload[], query?: Query): Promise<Response<Item | Item[]>>;
|
||||
async create(payloads: Payload | Payload[], query?: Query): Promise<Response<Item | Item[]>> {
|
||||
return await this.itemsHandler.create(payloads, query);
|
||||
}
|
||||
|
||||
async read(query?: Query): Promise<Response<Item | Item[]>>;
|
||||
async read(key: PrimaryKey, query?: Query): Promise<Response<Item>>;
|
||||
async read(keys: PrimaryKey[], query?: Query): Promise<Response<Item | Item[]>>;
|
||||
async read(
|
||||
keysOrQuery?: PrimaryKey | PrimaryKey[] | Query,
|
||||
query?: Query & { single: boolean }
|
||||
): Promise<Response<Item | Item[]>> {
|
||||
return await this.itemsHandler.read(keysOrQuery as any, query);
|
||||
}
|
||||
|
||||
async update(key: PrimaryKey, payload: Payload, query?: Query): Promise<Response<Item>>;
|
||||
async update(keys: PrimaryKey[], payload: Payload, query?: Query): Promise<Response<Item[]>>;
|
||||
async update(payload: Payload[], query?: Query): Promise<Response<Item[]>>;
|
||||
async update(payload: Payload, query: Query): Promise<Response<Item[]>>;
|
||||
async update(
|
||||
keyOrPayload: PrimaryKey | PrimaryKey[] | Payload | Payload[],
|
||||
payloadOrQuery?: Payload | Query,
|
||||
query?: Query
|
||||
): Promise<Response<Item | Item[]>> {
|
||||
return await this.itemsHandler.update(
|
||||
keyOrPayload as any,
|
||||
payloadOrQuery as any,
|
||||
query as any
|
||||
);
|
||||
}
|
||||
|
||||
async delete(key: PrimaryKey): Promise<void>;
|
||||
async delete(keys: PrimaryKey[]): Promise<void>;
|
||||
async delete(keys: PrimaryKey | PrimaryKey[]): Promise<void> {
|
||||
return await this.itemsHandler.delete(keys as any);
|
||||
super('directus_folders', axios);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,3 +5,9 @@ export * from './activity';
|
||||
export * from './folders';
|
||||
export * from './permissions';
|
||||
export * from './presets';
|
||||
export * from './relations';
|
||||
export * from './revisions';
|
||||
export * from './roles';
|
||||
export * from './users';
|
||||
export * from './settings';
|
||||
export * from './files';
|
||||
|
||||
@@ -1,49 +1,8 @@
|
||||
import { Query, Item, Payload, Response, PrimaryKey } from '../types';
|
||||
import { AxiosInstance } from 'axios';
|
||||
import { ItemsHandler } from './items';
|
||||
|
||||
export class PermissionsHandler {
|
||||
private itemsHandler: ItemsHandler;
|
||||
|
||||
export class PermissionsHandler extends ItemsHandler {
|
||||
constructor(axios: AxiosInstance) {
|
||||
this.itemsHandler = new ItemsHandler('directus_permissions', axios);
|
||||
}
|
||||
|
||||
async create(payload: Payload, query?: Query): Promise<Response<Item>>;
|
||||
async create(payloads: Payload[], query?: Query): Promise<Response<Item | Item[]>>;
|
||||
async create(payloads: Payload | Payload[], query?: Query): Promise<Response<Item | Item[]>> {
|
||||
return await this.itemsHandler.create(payloads, query);
|
||||
}
|
||||
|
||||
async read(query?: Query): Promise<Response<Item | Item[]>>;
|
||||
async read(key: PrimaryKey, query?: Query): Promise<Response<Item>>;
|
||||
async read(keys: PrimaryKey[], query?: Query): Promise<Response<Item | Item[]>>;
|
||||
async read(
|
||||
keysOrQuery?: PrimaryKey | PrimaryKey[] | Query,
|
||||
query?: Query & { single: boolean }
|
||||
): Promise<Response<Item | Item[]>> {
|
||||
return await this.itemsHandler.read(keysOrQuery as any, query);
|
||||
}
|
||||
|
||||
async update(key: PrimaryKey, payload: Payload, query?: Query): Promise<Response<Item>>;
|
||||
async update(keys: PrimaryKey[], payload: Payload, query?: Query): Promise<Response<Item[]>>;
|
||||
async update(payload: Payload[], query?: Query): Promise<Response<Item[]>>;
|
||||
async update(payload: Payload, query: Query): Promise<Response<Item[]>>;
|
||||
async update(
|
||||
keyOrPayload: PrimaryKey | PrimaryKey[] | Payload | Payload[],
|
||||
payloadOrQuery?: Payload | Query,
|
||||
query?: Query
|
||||
): Promise<Response<Item | Item[]>> {
|
||||
return await this.itemsHandler.update(
|
||||
keyOrPayload as any,
|
||||
payloadOrQuery as any,
|
||||
query as any
|
||||
);
|
||||
}
|
||||
|
||||
async delete(key: PrimaryKey): Promise<void>;
|
||||
async delete(keys: PrimaryKey[]): Promise<void>;
|
||||
async delete(keys: PrimaryKey | PrimaryKey[]): Promise<void> {
|
||||
return await this.itemsHandler.delete(keys as any);
|
||||
super('directus_permissions', axios);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,49 +1,8 @@
|
||||
import { Query, Item, Payload, Response, PrimaryKey } from '../types';
|
||||
import { AxiosInstance } from 'axios';
|
||||
import { ItemsHandler } from './items';
|
||||
|
||||
export class PresetsHandler {
|
||||
private itemsHandler: ItemsHandler;
|
||||
|
||||
export class PresetsHandler extends ItemsHandler {
|
||||
constructor(axios: AxiosInstance) {
|
||||
this.itemsHandler = new ItemsHandler('directus_presets', axios);
|
||||
}
|
||||
|
||||
async create(payload: Payload, query?: Query): Promise<Response<Item>>;
|
||||
async create(payloads: Payload[], query?: Query): Promise<Response<Item | Item[]>>;
|
||||
async create(payloads: Payload | Payload[], query?: Query): Promise<Response<Item | Item[]>> {
|
||||
return await this.itemsHandler.create(payloads, query);
|
||||
}
|
||||
|
||||
async read(query?: Query): Promise<Response<Item | Item[]>>;
|
||||
async read(key: PrimaryKey, query?: Query): Promise<Response<Item>>;
|
||||
async read(keys: PrimaryKey[], query?: Query): Promise<Response<Item | Item[]>>;
|
||||
async read(
|
||||
keysOrQuery?: PrimaryKey | PrimaryKey[] | Query,
|
||||
query?: Query & { single: boolean }
|
||||
): Promise<Response<Item | Item[]>> {
|
||||
return await this.itemsHandler.read(keysOrQuery as any, query);
|
||||
}
|
||||
|
||||
async update(key: PrimaryKey, payload: Payload, query?: Query): Promise<Response<Item>>;
|
||||
async update(keys: PrimaryKey[], payload: Payload, query?: Query): Promise<Response<Item[]>>;
|
||||
async update(payload: Payload[], query?: Query): Promise<Response<Item[]>>;
|
||||
async update(payload: Payload, query: Query): Promise<Response<Item[]>>;
|
||||
async update(
|
||||
keyOrPayload: PrimaryKey | PrimaryKey[] | Payload | Payload[],
|
||||
payloadOrQuery?: Payload | Query,
|
||||
query?: Query
|
||||
): Promise<Response<Item | Item[]>> {
|
||||
return await this.itemsHandler.update(
|
||||
keyOrPayload as any,
|
||||
payloadOrQuery as any,
|
||||
query as any
|
||||
);
|
||||
}
|
||||
|
||||
async delete(key: PrimaryKey): Promise<void>;
|
||||
async delete(keys: PrimaryKey[]): Promise<void>;
|
||||
async delete(keys: PrimaryKey | PrimaryKey[]): Promise<void> {
|
||||
return await this.itemsHandler.delete(keys as any);
|
||||
super('directus_presets', axios);
|
||||
}
|
||||
}
|
||||
|
||||
8
packages/sdk-js/src/handlers/relations.ts
Normal file
8
packages/sdk-js/src/handlers/relations.ts
Normal file
@@ -0,0 +1,8 @@
|
||||
import { AxiosInstance } from 'axios';
|
||||
import { ItemsHandler } from './items';
|
||||
|
||||
export class RelationsHandler extends ItemsHandler {
|
||||
constructor(axios: AxiosInstance) {
|
||||
super('directus_relations', axios);
|
||||
}
|
||||
}
|
||||
8
packages/sdk-js/src/handlers/revisions.ts
Normal file
8
packages/sdk-js/src/handlers/revisions.ts
Normal file
@@ -0,0 +1,8 @@
|
||||
import { AxiosInstance } from 'axios';
|
||||
import { ItemsHandler } from './items';
|
||||
|
||||
export class RevisionsHandler extends ItemsHandler {
|
||||
constructor(axios: AxiosInstance) {
|
||||
super('directus_revisions', axios);
|
||||
}
|
||||
}
|
||||
8
packages/sdk-js/src/handlers/roles.ts
Normal file
8
packages/sdk-js/src/handlers/roles.ts
Normal file
@@ -0,0 +1,8 @@
|
||||
import { AxiosInstance } from 'axios';
|
||||
import { ItemsHandler } from './items';
|
||||
|
||||
export class RolesHandler extends ItemsHandler {
|
||||
constructor(axios: AxiosInstance) {
|
||||
super('directus_roles', axios);
|
||||
}
|
||||
}
|
||||
8
packages/sdk-js/src/handlers/settings.ts
Normal file
8
packages/sdk-js/src/handlers/settings.ts
Normal file
@@ -0,0 +1,8 @@
|
||||
import { AxiosInstance } from 'axios';
|
||||
import { ItemsHandler } from './items';
|
||||
|
||||
export class SettingsHandler extends ItemsHandler {
|
||||
constructor(axios: AxiosInstance) {
|
||||
super('directus_settings', axios);
|
||||
}
|
||||
}
|
||||
8
packages/sdk-js/src/handlers/users.ts
Normal file
8
packages/sdk-js/src/handlers/users.ts
Normal file
@@ -0,0 +1,8 @@
|
||||
import { AxiosInstance } from 'axios';
|
||||
import { ItemsHandler } from './items';
|
||||
|
||||
export class UsersHandler extends ItemsHandler {
|
||||
constructor(axios: AxiosInstance) {
|
||||
super('directus_users', axios);
|
||||
}
|
||||
}
|
||||
@@ -7,6 +7,10 @@ import {
|
||||
FoldersHandler,
|
||||
PermissionsHandler,
|
||||
PresetsHandler,
|
||||
RolesHandler,
|
||||
UsersHandler,
|
||||
SettingsHandler,
|
||||
FilesHandler,
|
||||
} from './handlers';
|
||||
|
||||
export default class DirectusSDK {
|
||||
@@ -57,4 +61,20 @@ export default class DirectusSDK {
|
||||
get presets() {
|
||||
return new PresetsHandler(this.axios);
|
||||
}
|
||||
|
||||
get roles() {
|
||||
return new RolesHandler(this.axios);
|
||||
}
|
||||
|
||||
get users() {
|
||||
return new UsersHandler(this.axios);
|
||||
}
|
||||
|
||||
get settings() {
|
||||
return new SettingsHandler(this.axios);
|
||||
}
|
||||
|
||||
get files() {
|
||||
return new FilesHandler(this.axios);
|
||||
}
|
||||
}
|
||||
|
||||
27
packages/sdk-js/tests/handlers/files.ts
Normal file
27
packages/sdk-js/tests/handlers/files.ts
Normal file
@@ -0,0 +1,27 @@
|
||||
import { FilesHandler, ItemsHandler } from '../../src/handlers';
|
||||
import axios, { AxiosInstance } from 'axios';
|
||||
import sinon, { SinonSandbox } from 'sinon';
|
||||
import chai, { expect } from 'chai';
|
||||
import sinonChai from 'sinon-chai';
|
||||
|
||||
chai.use(sinonChai);
|
||||
|
||||
describe('FilesHandler', () => {
|
||||
let sandbox: SinonSandbox;
|
||||
let axiosInstance: AxiosInstance;
|
||||
let handler: FilesHandler;
|
||||
|
||||
beforeEach(() => {
|
||||
sandbox = sinon.createSandbox();
|
||||
axiosInstance = axios.create();
|
||||
handler = new FilesHandler(axiosInstance);
|
||||
});
|
||||
|
||||
afterEach(() => {
|
||||
sandbox.restore();
|
||||
});
|
||||
|
||||
it('Extends ItemsHandler', () => {
|
||||
expect(handler).to.be.instanceOf(ItemsHandler);
|
||||
});
|
||||
});
|
||||
@@ -21,57 +21,7 @@ describe('FoldersHandler', () => {
|
||||
sandbox.restore();
|
||||
});
|
||||
|
||||
describe('constructor', () => {
|
||||
it('Initializes ItemHandler instance', () => {
|
||||
expect(handler['itemsHandler']).to.be.instanceOf(ItemsHandler);
|
||||
});
|
||||
});
|
||||
|
||||
describe('create', () => {
|
||||
it('Calls ItemsHandler#create with the provided params', async () => {
|
||||
const stub = sandbox
|
||||
.stub(handler['itemsHandler'], 'create')
|
||||
.returns(Promise.resolve({ data: {} }));
|
||||
|
||||
await handler.create({ folder: 'test' });
|
||||
expect(stub).to.have.been.calledWith({ folder: 'test' });
|
||||
|
||||
await handler.create([{ folder: 'test' }]);
|
||||
expect(stub).to.have.been.calledWith([{ folder: 'test' }]);
|
||||
|
||||
await handler.create({ folder: 'test' }, { fields: ['id'] });
|
||||
expect(stub).to.have.been.calledWith({ folder: 'test' }, { fields: ['id'] });
|
||||
});
|
||||
});
|
||||
|
||||
describe('read', () => {
|
||||
it('Calls ItemsHandler#read with the provided params', async () => {
|
||||
const stub = sandbox
|
||||
.stub(handler['itemsHandler'], 'read')
|
||||
.returns(Promise.resolve({ data: {} }));
|
||||
|
||||
await handler.read();
|
||||
expect(stub).to.have.been.calledWith();
|
||||
});
|
||||
});
|
||||
|
||||
describe('update', () => {
|
||||
it('Calls ItemsHandler#update with the provided params', async () => {
|
||||
const stub = sandbox
|
||||
.stub(handler['itemsHandler'], 'update')
|
||||
.returns(Promise.resolve({ data: [{}] }));
|
||||
|
||||
await handler.update(15, { folder: 'updated name' });
|
||||
expect(stub).to.have.been.calledWith(15, { folder: 'updated name' });
|
||||
});
|
||||
});
|
||||
|
||||
describe('delete', () => {
|
||||
it('Calls ItemsHandler#delete with the provided params', async () => {
|
||||
const stub = sandbox.stub(handler['itemsHandler'], 'delete').returns(Promise.resolve());
|
||||
|
||||
await handler.delete(15);
|
||||
expect(stub).to.have.been.calledWith(15);
|
||||
});
|
||||
it('Extends ItemsHandler', () => {
|
||||
expect(handler).to.be.instanceOf(ItemsHandler);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -21,57 +21,7 @@ describe('PermissionsHandler', () => {
|
||||
sandbox.restore();
|
||||
});
|
||||
|
||||
describe('constructor', () => {
|
||||
it('Initializes ItemHandler instance', () => {
|
||||
expect(handler['itemsHandler']).to.be.instanceOf(ItemsHandler);
|
||||
});
|
||||
});
|
||||
|
||||
describe('create', () => {
|
||||
it('Calls ItemsHandler#create with the provided params', async () => {
|
||||
const stub = sandbox
|
||||
.stub(handler['itemsHandler'], 'create')
|
||||
.returns(Promise.resolve({ data: {} }));
|
||||
|
||||
await handler.create({ permissions: 'test' });
|
||||
expect(stub).to.have.been.calledWith({ permissions: 'test' });
|
||||
|
||||
await handler.create([{ permissions: 'test' }]);
|
||||
expect(stub).to.have.been.calledWith([{ permissions: 'test' }]);
|
||||
|
||||
await handler.create({ permissions: 'test' }, { fields: ['id'] });
|
||||
expect(stub).to.have.been.calledWith({ permissions: 'test' }, { fields: ['id'] });
|
||||
});
|
||||
});
|
||||
|
||||
describe('read', () => {
|
||||
it('Calls ItemsHandler#read with the provided params', async () => {
|
||||
const stub = sandbox
|
||||
.stub(handler['itemsHandler'], 'read')
|
||||
.returns(Promise.resolve({ data: {} }));
|
||||
|
||||
await handler.read();
|
||||
expect(stub).to.have.been.calledWith();
|
||||
});
|
||||
});
|
||||
|
||||
describe('update', () => {
|
||||
it('Calls ItemsHandler#update with the provided params', async () => {
|
||||
const stub = sandbox
|
||||
.stub(handler['itemsHandler'], 'update')
|
||||
.returns(Promise.resolve({ data: [{}] }));
|
||||
|
||||
await handler.update(15, { permissions: 'updated name' });
|
||||
expect(stub).to.have.been.calledWith(15, { permissions: 'updated name' });
|
||||
});
|
||||
});
|
||||
|
||||
describe('delete', () => {
|
||||
it('Calls ItemsHandler#delete with the provided params', async () => {
|
||||
const stub = sandbox.stub(handler['itemsHandler'], 'delete').returns(Promise.resolve());
|
||||
|
||||
await handler.delete(15);
|
||||
expect(stub).to.have.been.calledWith(15);
|
||||
});
|
||||
it('Extends ItemsHandler', () => {
|
||||
expect(handler).to.be.instanceOf(ItemsHandler);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -21,57 +21,7 @@ describe('PresetsHandler', () => {
|
||||
sandbox.restore();
|
||||
});
|
||||
|
||||
describe('constructor', () => {
|
||||
it('Initializes ItemHandler instance', () => {
|
||||
expect(handler['itemsHandler']).to.be.instanceOf(ItemsHandler);
|
||||
});
|
||||
});
|
||||
|
||||
describe('create', () => {
|
||||
it('Calls ItemsHandler#create with the provided params', async () => {
|
||||
const stub = sandbox
|
||||
.stub(handler['itemsHandler'], 'create')
|
||||
.returns(Promise.resolve({ data: {} }));
|
||||
|
||||
await handler.create({ layout: 'test' });
|
||||
expect(stub).to.have.been.calledWith({ layout: 'test' });
|
||||
|
||||
await handler.create([{ layout: 'test' }]);
|
||||
expect(stub).to.have.been.calledWith([{ layout: 'test' }]);
|
||||
|
||||
await handler.create({ layout: 'test' }, { fields: ['id'] });
|
||||
expect(stub).to.have.been.calledWith({ layout: 'test' }, { fields: ['id'] });
|
||||
});
|
||||
});
|
||||
|
||||
describe('read', () => {
|
||||
it('Calls ItemsHandler#read with the provided params', async () => {
|
||||
const stub = sandbox
|
||||
.stub(handler['itemsHandler'], 'read')
|
||||
.returns(Promise.resolve({ data: {} }));
|
||||
|
||||
await handler.read();
|
||||
expect(stub).to.have.been.calledWith();
|
||||
});
|
||||
});
|
||||
|
||||
describe('update', () => {
|
||||
it('Calls ItemsHandler#update with the provided params', async () => {
|
||||
const stub = sandbox
|
||||
.stub(handler['itemsHandler'], 'update')
|
||||
.returns(Promise.resolve({ data: [{}] }));
|
||||
|
||||
await handler.update(15, { layout: 'updated name' });
|
||||
expect(stub).to.have.been.calledWith(15, { layout: 'updated name' });
|
||||
});
|
||||
});
|
||||
|
||||
describe('delete', () => {
|
||||
it('Calls ItemsHandler#delete with the provided params', async () => {
|
||||
const stub = sandbox.stub(handler['itemsHandler'], 'delete').returns(Promise.resolve());
|
||||
|
||||
await handler.delete(15);
|
||||
expect(stub).to.have.been.calledWith(15);
|
||||
});
|
||||
it('Extends ItemsHandler', () => {
|
||||
expect(handler).to.be.instanceOf(ItemsHandler);
|
||||
});
|
||||
});
|
||||
|
||||
27
packages/sdk-js/tests/handlers/relations.ts
Normal file
27
packages/sdk-js/tests/handlers/relations.ts
Normal file
@@ -0,0 +1,27 @@
|
||||
import { RelationsHandler, ItemsHandler } from '../../src/handlers';
|
||||
import axios, { AxiosInstance } from 'axios';
|
||||
import sinon, { SinonSandbox } from 'sinon';
|
||||
import chai, { expect } from 'chai';
|
||||
import sinonChai from 'sinon-chai';
|
||||
|
||||
chai.use(sinonChai);
|
||||
|
||||
describe('RelationsHandler', () => {
|
||||
let sandbox: SinonSandbox;
|
||||
let axiosInstance: AxiosInstance;
|
||||
let handler: RelationsHandler;
|
||||
|
||||
beforeEach(() => {
|
||||
sandbox = sinon.createSandbox();
|
||||
axiosInstance = axios.create();
|
||||
handler = new RelationsHandler(axiosInstance);
|
||||
});
|
||||
|
||||
afterEach(() => {
|
||||
sandbox.restore();
|
||||
});
|
||||
|
||||
it('Extends ItemsHandler', () => {
|
||||
expect(handler).to.be.instanceOf(ItemsHandler);
|
||||
});
|
||||
});
|
||||
27
packages/sdk-js/tests/handlers/revisions.ts
Normal file
27
packages/sdk-js/tests/handlers/revisions.ts
Normal file
@@ -0,0 +1,27 @@
|
||||
import { RevisionsHandler, ItemsHandler } from '../../src/handlers';
|
||||
import axios, { AxiosInstance } from 'axios';
|
||||
import sinon, { SinonSandbox } from 'sinon';
|
||||
import chai, { expect } from 'chai';
|
||||
import sinonChai from 'sinon-chai';
|
||||
|
||||
chai.use(sinonChai);
|
||||
|
||||
describe('RevisionsHandler', () => {
|
||||
let sandbox: SinonSandbox;
|
||||
let axiosInstance: AxiosInstance;
|
||||
let handler: RevisionsHandler;
|
||||
|
||||
beforeEach(() => {
|
||||
sandbox = sinon.createSandbox();
|
||||
axiosInstance = axios.create();
|
||||
handler = new RevisionsHandler(axiosInstance);
|
||||
});
|
||||
|
||||
afterEach(() => {
|
||||
sandbox.restore();
|
||||
});
|
||||
|
||||
it('Extends ItemsHandler', () => {
|
||||
expect(handler).to.be.instanceOf(ItemsHandler);
|
||||
});
|
||||
});
|
||||
27
packages/sdk-js/tests/handlers/roles.ts
Normal file
27
packages/sdk-js/tests/handlers/roles.ts
Normal file
@@ -0,0 +1,27 @@
|
||||
import { PresetsHandler, ItemsHandler } from '../../src/handlers';
|
||||
import axios, { AxiosInstance } from 'axios';
|
||||
import sinon, { SinonSandbox } from 'sinon';
|
||||
import chai, { expect } from 'chai';
|
||||
import sinonChai from 'sinon-chai';
|
||||
|
||||
chai.use(sinonChai);
|
||||
|
||||
describe('PresetsHandler', () => {
|
||||
let sandbox: SinonSandbox;
|
||||
let axiosInstance: AxiosInstance;
|
||||
let handler: PresetsHandler;
|
||||
|
||||
beforeEach(() => {
|
||||
sandbox = sinon.createSandbox();
|
||||
axiosInstance = axios.create();
|
||||
handler = new PresetsHandler(axiosInstance);
|
||||
});
|
||||
|
||||
afterEach(() => {
|
||||
sandbox.restore();
|
||||
});
|
||||
|
||||
it('Extends ItemsHandler', () => {
|
||||
expect(handler).to.be.instanceOf(ItemsHandler);
|
||||
});
|
||||
});
|
||||
27
packages/sdk-js/tests/handlers/settings.ts
Normal file
27
packages/sdk-js/tests/handlers/settings.ts
Normal file
@@ -0,0 +1,27 @@
|
||||
import { SettingsHandler, ItemsHandler } from '../../src/handlers';
|
||||
import axios, { AxiosInstance } from 'axios';
|
||||
import sinon, { SinonSandbox } from 'sinon';
|
||||
import chai, { expect } from 'chai';
|
||||
import sinonChai from 'sinon-chai';
|
||||
|
||||
chai.use(sinonChai);
|
||||
|
||||
describe('SettingsHandler', () => {
|
||||
let sandbox: SinonSandbox;
|
||||
let axiosInstance: AxiosInstance;
|
||||
let handler: SettingsHandler;
|
||||
|
||||
beforeEach(() => {
|
||||
sandbox = sinon.createSandbox();
|
||||
axiosInstance = axios.create();
|
||||
handler = new SettingsHandler(axiosInstance);
|
||||
});
|
||||
|
||||
afterEach(() => {
|
||||
sandbox.restore();
|
||||
});
|
||||
|
||||
it('Extends ItemsHandler', () => {
|
||||
expect(handler).to.be.instanceOf(ItemsHandler);
|
||||
});
|
||||
});
|
||||
27
packages/sdk-js/tests/handlers/users.ts
Normal file
27
packages/sdk-js/tests/handlers/users.ts
Normal file
@@ -0,0 +1,27 @@
|
||||
import { UsersHandler, ItemsHandler } from '../../src/handlers';
|
||||
import axios, { AxiosInstance } from 'axios';
|
||||
import sinon, { SinonSandbox } from 'sinon';
|
||||
import chai, { expect } from 'chai';
|
||||
import sinonChai from 'sinon-chai';
|
||||
|
||||
chai.use(sinonChai);
|
||||
|
||||
describe('UsersHandler', () => {
|
||||
let sandbox: SinonSandbox;
|
||||
let axiosInstance: AxiosInstance;
|
||||
let handler: UsersHandler;
|
||||
|
||||
beforeEach(() => {
|
||||
sandbox = sinon.createSandbox();
|
||||
axiosInstance = axios.create();
|
||||
handler = new UsersHandler(axiosInstance);
|
||||
});
|
||||
|
||||
afterEach(() => {
|
||||
sandbox.restore();
|
||||
});
|
||||
|
||||
it('Extends ItemsHandler', () => {
|
||||
expect(handler).to.be.instanceOf(ItemsHandler);
|
||||
});
|
||||
});
|
||||
@@ -6,6 +6,10 @@ import {
|
||||
FoldersHandler,
|
||||
PermissionsHandler,
|
||||
PresetsHandler,
|
||||
RolesHandler,
|
||||
UsersHandler,
|
||||
SettingsHandler,
|
||||
FilesHandler,
|
||||
} from '../src/handlers/';
|
||||
|
||||
import { expect } from 'chai';
|
||||
@@ -60,4 +64,20 @@ describe('DirectusSDK', () => {
|
||||
it('Returns PresetsHandler for #presets', () => {
|
||||
expect(directus.presets).to.be.instanceOf(PresetsHandler);
|
||||
});
|
||||
|
||||
it('Returns RolesHandler for #roles', () => {
|
||||
expect(directus.roles).to.be.instanceOf(RolesHandler);
|
||||
});
|
||||
|
||||
it('Returns UsersHandler for #users', () => {
|
||||
expect(directus.users).to.be.instanceOf(UsersHandler);
|
||||
});
|
||||
|
||||
it('Returns SettingsHandler for #users', () => {
|
||||
expect(directus.settings).to.be.instanceOf(SettingsHandler);
|
||||
});
|
||||
|
||||
it('Returns FilesHandler for #users', () => {
|
||||
expect(directus.files).to.be.instanceOf(FilesHandler);
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user