Git Product home page Git Product logo

meteor-stub-collections's Introduction

Meteor - Stub Collections

Intro

Easily stub out Meteor collections with in-memory local collections. The idea here is to allow the use of things like Factories for unit tests and styleguides without having to restrict ourselves to making components "pure". So a component (ie. a template) can still call Widgets.findOne(widgetId), it's just that we will have stubbed out Widgets to point to a local collection that we can completely control in our test.

Installation

meteor add hwillson:stub-collections

Usage via ES6 import

// client or server
import StubCollections from 'meteor/hwillson:stub-collections';

API

  • StubCollections.add([collection1, collection2, ...]) - register the default list of collections to stub.
  • StubCollections.stub() - stub all collections that have been previously enabled for stubbing via add().
  • StubCollections.stub([collection1, collection2, ...]) - stub a specific list of collections, overriding the list registered via add().
  • StubCollections.restore() - undo stubbing (call at the end of tests, on routing away, etc.)

Examples

See this packages tests.

History

This project was originally created by MDG, and shipped with the Meteor Guide's todos reference application (thanks MDG!). If you have any questions/comments, open an issue here.

1.0.9 (2018-06-27)

1.0.8 (2018-03-26)

1.0.7 (2018-03-23)

1.0.6 (2017-11-24)

1.0.5 (2017-11-24)

  • Re-publish to deal with issue [#22](reported in hwillson#22)

1.0.4 (2017-11-23)

  • Fix for issue #11 (again) where CollectionHooks Collections direct accessors were not properly stubbed (thanks @zeroasterisk!).
  • Allow single collections with add (PR #18 - thanks @Floriferous!).
  • Removed underscore
  • Replaced practicalmeteor:mocha with meteortesting:mocha
  • Switched to npm based sinon and chai packages
  • Slight refactoring based on linting
  • Test cleanup

1.0.3

  • Fixes issue #11 where some inherited Collection properties were not properly stubbed (thanks @Davidyuk!).

1.0.2

  • Omit the stubbing of a collection's schema if using aldeed:collection2 package (thanks @drewmoore!).

1.0.1

  • Fixed bind issues with non-functions (thanks @Fabs!).
  • Better leveraging of the Sinon sandbox (thanks @Fabs!)

meteor-stub-collections's People

Contributors

hwillson avatar coagmano avatar zeroasterisk avatar fabs avatar sebakerckhof avatar davidyuk avatar floriferous avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.