Skip to content

Instantly share code, notes, and snippets.

@martinlindhe
Last active May 19, 2022 14:31
Show Gist options
  • Save martinlindhe/a8c4b2ddbe2c764c2079 to your computer and use it in GitHub Desktop.
Save martinlindhe/a8c4b2ddbe2c764c2079 to your computer and use it in GitHub Desktop.

Revisions

  1. martinlindhe revised this gist Nov 20, 2015. 1 changed file with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions karma.conf.js
    Original file line number Diff line number Diff line change
    @@ -53,7 +53,7 @@ module.exports = function (config) {

    // level of logging
    // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG
    logLevel: config.LOG_DEBUG,
    logLevel: config.LOG_INFO,


    // enable / disable watching file and executing tests whenever any file changes
    @@ -64,7 +64,7 @@ module.exports = function (config) {
    // available browser launchers: https://npmjs.org/browse/keyword/karma-launcher
    browsers: [
    'PhantomJS',
    //'Chrome'
    'Chrome'
    ],


  2. martinlindhe revised this gist Nov 20, 2015. 1 changed file with 7 additions and 9 deletions.
    16 changes: 7 additions & 9 deletions AlertSpec.js
    Original file line number Diff line number Diff line change
    @@ -1,16 +1,14 @@
    describe("Alert component", function() {

    var alert = require('./../../../resources/assets/js/components/Alert.vue');
    it('should have a created hook', function () {
    expect(typeof alert.created).toBe('function');
    var c = require('./../../../resources/assets/js/components/Alert.vue');

    it('should have data', function () {
    expect(typeof c.data).toBe('function');
    });

    it('should set correct default data', function () {
    expect(typeof alert.data).toBe('function');
    var defaultData = alert.data();
    expect(defaultData.msg).toBe('hello!');
    it('should be visible', function () {
    var defaultData = c.data();
    expect(defaultData.show).toBe(true);
    });

    });

  3. martinlindhe revised this gist Nov 20, 2015. 1 changed file with 39 additions and 0 deletions.
    39 changes: 39 additions & 0 deletions Alert.vue
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,39 @@
    <style>
    .Alert {
    padding: 2em;
    }
    .Alert-Success {
    border: 10px solid green;
    }
    .Alert-Error {
    border: 10px solid red;
    }
    </style>

    <template>
    <div class="Alert"
    v-bind:class="{
    'Alert-Success': type == 'success',
    'Alert-Error': type == 'error',
    }"
    v-show="show">
    <p>
    {{ msg }}
    </p>
    </div>
    </template>

    <script>
    export default {
    data() {
    return {
    show: true
    }
    },
    props: ['msg', 'type'],
    ready() {
    }
    }
    </script>

  4. martinlindhe created this gist Nov 20, 2015.
    16 changes: 16 additions & 0 deletions AlertSpec.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,16 @@
    describe("Alert component", function() {

    var alert = require('./../../../resources/assets/js/components/Alert.vue');

    it('should have a created hook', function () {
    expect(typeof alert.created).toBe('function');
    });

    it('should set correct default data', function () {
    expect(typeof alert.data).toBe('function');
    var defaultData = alert.data();
    expect(defaultData.msg).toBe('hello!');
    });

    });

    8 changes: 8 additions & 0 deletions README
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,8 @@
    In order to run tests:

    $ npm install -g karma-cli
    $ npm install -g phantomjs

    then to start test watcher:

    $ karma start
    79 changes: 79 additions & 0 deletions karma.conf.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,79 @@
    // Karma configuration
    // Generated on Fri Nov 20 2015 18:27:44 GMT+0100 (CET)

    module.exports = function (config) {
    config.set({

    // base path that will be used to resolve all patterns (eg. files, exclude)
    basePath: '',


    // frameworks to use
    // available frameworks: https://npmjs.org/browse/keyword/karma-adapter
    frameworks: [
    'browserify',
    'jasmine'
    ],


    // list of files / patterns to load in the browser
    files: [
    'tests/js/**/*Spec.js'
    ],


    // list of files to exclude
    exclude: [],


    // preprocess matching files before serving them to the browser
    // available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor
    preprocessors: {
    'tests/**/*.js': ['browserify']
    },

    browserify: {
    debug: true, // debug=true to generate source maps
    transform: [ 'vueify' ]
    },

    // test results reporter to use
    // possible values: 'dots', 'progress'
    // available reporters: https://npmjs.org/browse/keyword/karma-reporter
    reporters: ['progress'],


    // web server port
    port: 9876,


    // enable / disable colors in the output (reporters and logs)
    colors: true,


    // level of logging
    // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG
    logLevel: config.LOG_DEBUG,


    // enable / disable watching file and executing tests whenever any file changes
    autoWatch: true,


    // start these browsers
    // available browser launchers: https://npmjs.org/browse/keyword/karma-launcher
    browsers: [
    'PhantomJS',
    //'Chrome'
    ],


    // Continuous Integration mode
    // if true, Karma captures browsers, runs the tests and exits
    singleRun: false,

    // Concurrency level
    // how many browsers should be started simultaneously
    concurrency: Infinity
    })
    }
    23 changes: 23 additions & 0 deletions package.json
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,23 @@
    {
    "private": true,
    "dependencies": {
    "babel-runtime": "^5.8",
    "laravel-elixir": "^3.0",
    "vue": "^1.0",
    "vue-hot-reload-api": "^1.2",
    "vue-i18n": "^2.2",
    "vue-resource": "^0.1",
    "vue-router": "^0.7",
    "vueify-insert-css": "^1.0"
    },
    "devDependencies": {
    "gulp": "^3.9",
    "jasmine": "^2.3",
    "karma": "^0.13",
    "karma-browserify": "^4.4",
    "karma-chrome-launcher": "^0.2",
    "karma-jasmine": "^0.3",
    "karma-phantomjs-launcher": "^0.2",
    "phantomjs": "^1.9"
    }
    }