@mocks-server/admin-api-client

Client of @mocks-server/plugin-admin-api

Usage no npm install needed!

<script type="module">
  import mocksServerAdminApiClient from 'https://cdn.skypack.dev/@mocks-server/admin-api-client';
</script>

README

Build status Coverage Status Quality Gate

Renovate Last commit Last release

NPM downloads License

Mocks-server administration api client

This package contains methods for administrating Mocks Server (using the Admin API plugin under the hood).

Requests to the Mocks Server API are made using cross-fetch, which makes this package compatible with browsers and nodejs environments, but, if you are going to build a browser application, you'll probably prefer to use the @mocks-server/admin-api-client-data-provider package, which uses Data Provider, and works well with Redux, React, etc.

Install

npm install --save @mocks-server/admin-api-client

The UMD build is also available on unpkg:

<script src="https://unpkg.com/@mocks-server/admin-api-paths/dist/index.umd.js"></script>
<script src="https://unpkg.com/@mocks-server/admin-api-client/dist/index.umd.js"></script>

The umd distribution is bundled with the cross-env dependency, but requires the @mocks-server/admin-api-paths dependency to be added separately.

Usage

All methods described in the Api (except the config method) return Promises when executed:

import { readAbout, readSettings, updateSettings } from "@mocks-server/admin-api-client";

const example = async () => {
  const { version } = await readAbout();
  console.log(`Current Admin API plugin version is ${version}`);

  const currentSettings = await readSettings();
  console.log("Current Mocks Server settings are", currentSettings);

  await updateSettings({
    mock: "user-super-admin",
    delay: 1000
  });
  console.log("Mock and delay changed");
};

example();

Api

  • readAbout() - Returns info about the Admin API plugin, such as current version.
  • readSettings() - Returns current Mocks Server settings.
  • updateSettings(settingsObject) - Updates Mocks Server settings. A settings object has to be provided. Read the Mocks Server configuration docs for further info.
  • readAlerts() - Returns array of current alerts.
  • readAlert(alertId) - Returns an specific alert.
  • readMocks() - Returns available mocks.
  • readMock(id) - Returns data of a specific mock.
  • readRoutes() - Returns available routes.
  • readRoute(id) - Returns data of a specific route.
  • readRoutesVariants() - Returns available routes variants.
  • readRouteVariant(id) - Returns data of a specific route variant.
  • readCustomRoutesVariants() - Returns current routes variants manually added to current mock.
  • useRouteVariant(id) - Sets a specific route variant to be used by current mock.
  • restoreRoutesVariants() - Restore routes variants to those defined in current mock.
Legacy methods
  • readBehaviors() - Returns collection of available behaviors.
  • readBehavior(behaviorName) - Returns an specific behavior.
  • readFixtures() - Returns collection of available fixtures.
  • readFixture(fixtureId) - Returns an specific fixture.

Configuration

By default, the client is configured to request to http://127.0.0.1:3100/admin, based in the default options of Mocks Server

You can change both the base url of Mocks Server, and the path of the Admin API plugin using the config method:

import { config } from "@mocks-server/admin-api-client";

config({
  adminApiPath: "/foo-admin",
  baseUrl: "http://my-mocks-server:3000"
});

Contributing

Contributors are welcome. Please read the contributing guidelines and code of conduct.