1.5.2 • Published 4 years ago

searchquire v1.5.2

Weekly downloads
3
License
MIT
Repository
github
Last release
4 years ago

Searchquire

Version Build Status Codacy Badge codecov

Introduction

Searchquire easily allows to recursively override scripts dependencies during testing using configurable search patterns to locate reusable stubs and mocks.

Installing / Getting started

To install the package execute:

npm install searchquire --save-dev

Usage

Simple examples

Resolve a module using a basePath where module is found as parameter.

var searchquire = require('searchquire');

var foo = searchquire('foo', {
  basePath: './simple-example/samples'
});

Resolve a module using a mock location to resolve dependencies.

var searchquire = require('searchquire');

var foo = searchquire('foo', {
  basePath: './simple-example/samples',
  modulePaths: [{
    basePath: './simple-example/mocks',
    fileSuffix: 'Mock.js'
  }]
});

Resolve a module using a mock location to resolve dependencies with a string require pattern.

var searchquire = require('searchquire');

var foo = searchquire('foo', {
  basePath: './simple-example/samples',
  modulePaths: [{
    basePath: './simple-example/mocks',
    fileSuffix: 'Mock',
    pattern: './*'
  }]
});

Resolve a module using stubs to resolve dependencies.

var searchquire = require('searchquire');

var foo = searchquire('foo', {
  basePath: './simple-example/samples',
  moduleStubs: {
    'path': {
      basename: function() {
        return 'BASSTUB';
      }
    }
  }
});

See tests for more examples and details.

Complex examples

Resolve a module using a path alias.

var searchquire = require('searchquire');

var foo = searchquire('foo', {
  basePath: './complex-example/samples',
  pattern: '(pathAlias)/*',
  patternAlias: './opinionated/folder/hierarchy/with/many/levels'
});

Resolve a module using an array of path alias and stubs with regex pattern to resolve dependencies with logging enabled.

var searchquire = require('searchquire');

var qux = searchquire('qux', {
  basePath: './complex-example/samples',
  baseModulePaths: [
    {
      name: 'alias-path',
      pattern: /^(pathAlias)\/.*/,
      patternAlias: './opinionated/folder/hierarchy/with/many/levels'
    },
    {
      name: 'another-alias-path',
      pattern: /^(anotherPathAlias)\/.*/,
      patternAlias: './another/opinionated/folder/hierarchy/with/many/levels'
    }
  ],
  moduleStubs: [
    {
      name: 'stub-zab',
      pattern: /.*\/zab/,
      stub: {
        zab: function() {
          return 'zabstub';
        }
      }
    }
  ],
  logLevel: 1,
  logElapseTime: true
});

See tests for more examples and details.

Salesforce Commerce Cloud SFRA examples

Resolve a dw api mock.

var searchquire = require('searchquire');

var CustomerMock = searchquire('dw/customer/Customer', {
  basePath: './sfra-example/mocks/dw-api-mock'
});

Resolve a cartridge script using mocks folders with file suffix and require patterns for cartridge scripts and dw api.

var searchquire = require('searchquire');

var orderHelpersTest = searchquire('*/cartridge/scripts/order/orderHelpers', {
  basePath: './sfra-example/project/cartridges/storefront/cartridge',
  pattern: '*/cartridge/(.*)',
  modulePaths: [
    {
      name: 'storefront-mock',
      basePath: './sfra-example/mocks/storefront-mock',
      fileSuffix: 'Mock',
      pattern: '*/cartridge/(.*)'
    },
    {
      name: 'dw-mock',
      basePath: './sfra-example/mocks/dw-api-mock',
      pattern: 'dw/*'
    }
  ]
});

See tests for more examples and details.

Developing

Built with

Folder structure

  • root: Contains the README.md, the main configuration to execute the project such as package.json or any other configuration files.
  • lib: Contains the source code for application script.
  • test: Contains library tests and examples.
  • node_modules: Contains third party JS libraries used in this project

Setting up Dev

Download the code

git clone https://github.com/pikamachu/pika-searchquire.git
cd pika-searchquire

Install dependencies

bash pika install

Run application tests.

bash pika test
1.5.2

4 years ago

1.5.1

4 years ago

1.5.0

4 years ago

1.4.2

4 years ago

1.4.1

5 years ago

1.4.0

5 years ago

1.3.3

5 years ago

1.3.2

5 years ago

1.3.1

5 years ago

1.3.0

5 years ago

1.2.0

5 years ago

1.1.3

5 years ago

1.1.2

5 years ago

1.1.1

5 years ago

1.1.0

5 years ago

1.0.0

5 years ago