- under development. *
This app represents just one preferred tech stack, with a heavy emphasis on testing. It exists for a few reasons:
- Demonstrate TDD and BDD with Meteor
- Building Meteor in a TDD and BDD style has become much more feasible with Meteor's recent updates.
- Kickstart professional grade apps
- Useful boilerplates allow you to spin up a simple app that's geared for development and production. This is one such attempt.
- Learn how to build using the various technologies (Meteor, React, Mocha, etc...)
- Just picking the stack you like is challenging. But then you have to learn how to use it.
- Clone this repo
npm install
- Install Wallaby.js into your editor
- Select a wallaby config file: either
wallaby_client.js
orwallaby_server.js
- Start Wallaby
npm run chimp:watch
-
- Recently implemented native npm support in version 1.3
- import dependencies means unit testing like other node.js apps
- this app does not support the recently added
meteor test
-
- instant results, as in, test results appear immediately in your editor as you type
-
- Acceptance testing tool
- Runs cucumber tests against an actual browser
- uses webdriver.io
-
- for views
-
- manages state in a single store
- dispatch actions and reduce their effects into state changes
-
- react's most popular routing solution
-
- for reactively adding meteor collection data to a component
-
- testing framework
-
- assertion library (
expect(foo()).to.equal('bar'))
-
- Behavior driven design
- Specs in plain english
-
- alternative to sinon. Easy mocking of imported node modules and meteor packages.
-
- renders and tests react components
- abstracts the complicated React Test Utils library
-
- compiles es2015 & .jsx
-
- integrates webpack into wallaby to build client side code
- client side code runs in phantomjs by default
- react-s-alert
- flash notifications to the user with a simple api
- see
imports/ui/layouts/app.js
for the main component