SimpleGraphQLClient
SimpleGraphQLClient
A minimalistic GraphQL client for populating and querying test data.
class SimpleGraphQLClient {
    constructor(vendureConfig: Required<VendureConfig>, apiUrl: string = '')
    setAuthToken(token: string) => ;
    setChannelToken(token: string | null) => ;
    getAuthToken() => string;
    query(query: DocumentNode | TypedDocumentNode<T, V>, variables?: V, queryParams?: QueryParams) => Promise<T>;
    fetch(url: string, options: RequestInit = {}) => Promise<Response>;
    queryStatus(query: DocumentNode, variables?: V) => Promise<number>;
    asUserWithCredentials(username: string, password: string) => ;
    asSuperAdmin() => ;
    asAnonymousUser() => ;
    fileUploadMutation(options: {
        mutation: DocumentNode;
        filePaths: string[];
        mapVariables: (filePaths: string[]) => any;
    }) => Promise<any>;
}
constructor
(vendureConfig: Required<VendureConfig>, apiUrl: string = '') => SimpleGraphQLClientsetAuthToken
(token: string) => Sets the authToken to be used in each GraphQL request.
setChannelToken
(token: string | null) => Sets the authToken to be used in each GraphQL request.
getAuthToken
() => stringReturns the authToken currently being used.
query
(query: DocumentNode | TypedDocumentNode<T, V>, variables?: V, queryParams?: QueryParams) => Promise<T>Performs both query and mutation operations.
fetch
(url: string, options: RequestInit = {}) => Promise<Response>Performs a raw HTTP request to the given URL, but also includes the authToken & channelToken headers if they have been set. Useful for testing non-GraphQL endpoints, e.g. for plugins which make use of REST controllers.
queryStatus
(query: DocumentNode, variables?: V) => Promise<number>Performs a query or mutation and returns the resulting status code.
asUserWithCredentials
(username: string, password: string) => Attempts to log in with the specified credentials.
asSuperAdmin
() => Logs in as the SuperAdmin user.
asAnonymousUser
() => Logs out so that the client is then treated as an anonymous user.
fileUploadMutation
(options: {         mutation: DocumentNode;         filePaths: string[];         mapVariables: (filePaths: string[]) => any;     }) => Promise<any>Perform a file upload mutation.
Upload spec: https://github.com/jaydenseric/graphql-multipart-request-spec Discussion of issue: https://github.com/jaydenseric/apollo-upload-client/issues/32