Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@gooddata/mock-js

Package Overview
Dependencies
Maintainers
54
Versions
522
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@gooddata/mock-js

Mock server for GoodData UI applications (Analytical Designer and Dashboards).

  • 2.20.1
  • npm
  • Socket score

Version published
Weekly downloads
1.5K
decreased by-44.34%
Maintainers
54
Weekly downloads
 
Created
Source

mock-js

Mock server for GoodData UI applications (Analytical Designer and Dashboards).

How to use:

Install mock-js from private repository:

yarn add --dev @gooddata/mock-js

Create your mock-schema.json file:

// mock-schema.json
{
    "project": {
        "title": "My mocked project"
    },
    "groups": [{
        "attributes": [{
            "title": "Account",
            "elements": ["1", "2", "3"]
        }],
        "dateDataSets": [{
            "title": "Activity"
        }, {
            "title": "Opportunity"
        }, {
            "title": "Closed"
        }],
        "metrics": [{
            "title": "# Won"
        }, {
            "title": "# Closed"
        }],
    }, {
        "meta": {
            "type": "csv",
            "identifier": "dataset.1"
        },
        "attributes": [{
            "title": "Attribute A"
        }, {
            "title": "Attribute B"
        }],
        "metrics": [{
            "title": "Metric A"
        }, {
            "title": "Metric B"
        }]
    }],
    // if execution request matches (ignoring localIdentifiers) it responds with saved executionResult
    "afmExecutions": [
        {
            "execution": { ...executeAfmRequestBody },
            "executionResult": { ...executionResultResponseBody }
        }
    ]
}

The execution request, response and result obtained from production or staging server can be converted to mocked afmExecutions record of mock.setup.js schema via web based tool hosted at /mock-builder endpoint. Apart from the execution request, response and result the mocked project ID and index of the mock.setup.js's ISchemaGroup group index must be entered. The project information is used to choose the mock project and one of its groups of measures and attributes that will be used to replace staging measure and attributes URIs in the execution for the mocked ones.

Register mock-js middleware:

// server.js
const register = require('@gooddata/mock-js');
const schema = require('./mock-schema.json');

const config = {
    pollCount: 1
};
module.exports = {
    createMiddleware: function createMiddleware(webpackConfig, webpackOptions) {
        return (app) => {
            return register.default(app, { schema, config });
        };
    }
};

Development

Development

Install Node.js (node 12.16.1, npm v6.13.4) and Yarn 1.22.4.

Project setup

yarn install --frozen-lockfile

Building project (with watch)

yarn dev

Deployment

Package publishing is done via Jenkins Job:

https://checklist.intgdc.com/job/client-libs/job/mock-js-release/

Running test suite:

yarn test

Running tslint

yarn validate

Source code formatting

The source code in the repository is formatted by Prettier. The format of the code is validated by our Continuous Integration server and is one of the requirements of successful merge.

Prettier is supported by every major IDE. You can find the list of supported editors and how to configure them here.

In the case, when your editor is not supported or you don't want to setup the integration, you can run the yarn prettier-write command to reformat the code before commit.

FAQs

Package last updated on 31 May 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc