import supertest from 'supertest'; import { Suite } from 'mocha'; import Koa from 'koa'; import { Organization } from '../../models/Organization'; import { Location } from '../../models/Location'; import { Skill } from '../../models/Skill'; import { User } from '../../models/User'; import { IMockSkill, IMockLocation, IMockOrganization } from '../mocks/SandboxMock'; import { IGQLTag } from '@sprucelabs/spruce-node'; import request from 'superagent'; export default class Base { protected koa: Koa<{}, Context>; protected ctx: Context; protected mocks: Record; protected request: supertest.SuperTest; protected organization: IMockOrganization; protected location: IMockLocation; protected skill: Skill; protected otherOrganization: IMockOrganization; protected otherLocation: IMockLocation; protected otherSkill: Skill; private basePath; private server; constructor(basePath: string, mocha?: Suite); protected setup(): void; protected setupMocks(options?: Record): Promise; protected beforeEach(): Promise; protected afterEach(): Promise; protected before(options?: Record): Promise; protected beforeBase(options?: Record): Promise; protected after(): Promise; protected afterBase(): Promise; protected gql(query: string | IGQLTag, variables?: Record, jwt?: string): Promise; protected triggerEvent(options: { eventName: string; payload: Record; skill: IMockSkill; location: Location; organization: Organization; user: User; }): Promise; protected createPhone(): string; }