karma-gb-json2js-preprocessor

1.0.1 • Public • Published

karma-gb-json2js-preprocessor

Preprocessor for converting JSON files to AngularJS constants.

Installation

The easiest way is to keep karma-gb-json2js-preprocessor as a devDependency in your package.json. You can simple do it by:

npm install karma-gb-json2js-preprocessor --save-dev

Configuration

// karma.conf.js
module.exports = function(config) {
  config.set({
    preprocessors: {
      '**/*.html': ['ng-html2js'],
      '**/*.json': ['gb-json2js']
    },
 
    plugins: [
      'karma-gb-json2js-preprocessor'
    ],
 
    files: [
      'test/fixture/*.js',
      '*.html'
    ],
 
    gbJson2JsPreprocessor: {
      // The module the json will be loaded into, defaults to "mocks"
      //moduleName: 'foo'
    }
  });
};

How does it work ?

This preprocessor converts JSON files into Angular constants and puts them in separate Angular modules; each named the same as the source JSON file and generates Angular modules.

For instance this test/fixture/loginService-mocks.json ...

{
    prop: val
}

... with the configuration given above will be converted into:

angular.module('mocks', []).constant('LOGIN_SERVICE_MOCKS', {
    prop: 'val'
});

Inject json fixture into your test case:

describe('me', function(){
    beforeEach(module('mocks'));
 
    it('should not fail', function() {
        var LOGIN_SERVICE_MOCKS;
        inject(function (_LOGIN_SERVICE_MOCKS_) {
            LOGIN_SERVICE_MOCKS = _LOGIN_SERVICE_MOCKS_;
        });
 
        expect(LOGIN_SERVICE_MOCKS).toEqual({
            prop: 'val'
        });
    });
 
});

Contributing

Before sending a pull request, run grunt in terminal to make sure all tests pass. To continuously run tests during development, run karma start.

For more information on Karma see the homepage.

/karma-gb-json2js-preprocessor/

    Package Sidebar

    Install

    npm i karma-gb-json2js-preprocessor

    Weekly Downloads

    0

    Version

    1.0.1

    License

    MIT

    Last publish

    Collaborators

    • adruzhkin-gbi
    • anton.shakhlovich
    • artem_konstantinov
    • andzinchenko
    • yberkut-gbi
    • romangbi
    • francoisvongue
    • gleb.bondarenko.gb
    • pavel-shakhlovich
    • jonapgar-groupby
    • jesseevitts
    • owengbi
    • ajaya-subudhi
    • mykola_bova
    • kseniya.kondrashevich
    • yanishgbi
    • jasonwelsh
    • groupby-ops
    • groupby-ci
    • groupbyops
    • daniel-moniz-gbi
    • johanntutorgbi
    • dmytro-kyiashko
    • roman.lis