• Stars
    star
    262
  • Rank 156,110 (Top 4 %)
  • Language
    JavaScript
  • Created almost 9 years ago
  • Updated over 7 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

An example project showing how to create robust and maintainable acceptance tests

Build Status CircleCI

Quality, Faster.

The companion code repository for Xolv.io's "Quality Faster" knowledge base and guide.

The Tech Stack

The following tools and technologies are used in this repository:

Build & Test

  • Gulp.js for orchestration.
  • Mocha to test server-side Node.js code.
  • Karma to test client-side browser code.
  • Chimp.js to run acceptance and end-to-end tests.
  • Wallaby.js to run in-IDE unit tests in real time. (Optional but HIGHLY recommended)

Application

Installation

git clone https://github.com/xolvio/quality-faster.git
cd quality-faster
npm install

Usage

Development Mode

When you are developing, you want the fastest possible feedback to let you know if you've broken any tests. To do that, this code repository allows you to run client, server, acceptance and end-to-end tests at hyper speeds.

Option A: Paid (Recommended)

Wallaby.js provides you with real-time feedback in your IDE. This feature is completely inline with the "Quality Faster" ethos and therefore it is highly recommended. The tool saves you a lot of time which means money, and so it pays back for itself in no time.

You'll need to first install Wallaby.js for your IDE. You can find a list of supported IDEs here and instructions on how to install and run the plugin.

Once you've installed the plugin, you just need to create two run configurations for the client and server using the .wallaby-client.js and .wallaby-server.js files.

At the time of writing this, Wallaby only supports running one mode at a time, so you'll need to switch between the server and client modes as you work on the respective files.

In addition to running Wallaby.js server/client tests, you'll also need to run acceptance and end-to-end tests using Chimp's watch mode as follows:

npm run watch:domain
npm run watch:end-to-end

Option B: Free

You also have the option of using the watch modes we have provided using Gulp and Karma.

Start each commands below in a separate terminal window, and to make that sure you can see all of them with the IDE.

npm run watch:client-unit
npm run watch:server-unit
npm run watch:domain
npm run watch:end-to-end

You can also start all the modes in one terminal, but be warned that the terminal output can get noisy:

npm run watch

Build / CI Mode

Using the command below, you can run all the tests in the following sequence: client > server > e2e

npm test

And if you want to run single test modes individually, you can do so like this:

npm run test:client-unit
npm run test:server-unit
npm run test:domain
npm run test:end-to-end

More Repositories

1

chimp

Tooling that helps you do quality, faster.
TypeScript
798
star
2

typescript-event-sourcing

Domain Driven Design, Event Sourcing & Command Query Responsibility Segregation with Typescript
TypeScript
246
star
3

rtd

DEPRECATED: The Test Runner for Meteor
JavaScript
164
star
4

pojo-observer

A minimalist object observer with React hooks support. Allows you to separate concerns between presentation and interaction logic
TypeScript
105
star
5

meteor-rtd-example-project

A template project to use for creating a meteor app with unit and webdriver testing
JavaScript
91
star
6

meteor-cucumber

89
star
7

Letterpress

Sell your written and video content
JavaScript
83
star
8

federation-testing-tool

Test your Apollo GraphQL Gateway / Federation micro services.
JavaScript
65
star
9

md-blog

-- DEPRECATED --
JavaScript
60
star
10

storybook-webpack-federation-plugin

Exposes all the components in your Storybook as Webpack 5 federated components.
JavaScript
57
star
11

whirlwind-old

Reduce your test suite time from hours to minutes on TravisCI, CircleCI, CodeShip and even locally
JavaScript
37
star
12

meteor-webdriver

WebdriverIO for Meteor
JavaScript
28
star
13

meteor-coverage

DEPRECATED - SEE NOTICE BELOW - Code coverage for Meteor testing using Velocity
JavaScript
22
star
14

cleaner

Gives you methods to clear your Mongo database and collections for testing purposes
JavaScript
21
star
15

meteor-webstorm-library

DEPRECATED! Webstorm officially supports meteor Now. A converter that takes the api.json that powers docs.meteor.com and converts it into a stub with jsdocs, for Webstorm to use as a library.
JavaScript
20
star
16

meteor-inspectlet

Inspectlet in an easy to use package
JavaScript
20
star
17

meteor-email-stub

Allows you to inspect sent emails and assert on their content.
JavaScript
18
star
18

inverter

A tiny Inversion of Control (IoC) container for Meteor.
JavaScript
18
star
19

NDK

The Narrative Development Kit - A Narrative Script to Event-Sourced application library
TypeScript
15
star
20

meteor-http-interceptor

Intercepts HTTP calls and allows fake implementations to take over entire domains. Used for testing.
JavaScript
13
star
21

cdk-typescript-tooling

TypeScript
13
star
22

use-complex-state

TypeScript
13
star
23

chimp-widgets

Widget that provides high-level commands for UI testing for use with Xolv.io chimp
CoffeeScript
12
star
24

jasmine-unit

A jasmine-based unit-testing framework designed for the Velocity test runner
JavaScript
9
star
25

meteor-template-isolator

Exposes code from Meteor templates for testing purposes
JavaScript
9
star
26

meteor-backdoor

Meteor method that allows you to run arbitrary code on the server
JavaScript
8
star
27

mongodb-diff

Creates the MongoDB update query by diffing two objects.
JavaScript
7
star
28

newman-to-escape

JavaScript
6
star
29

react-hooks-domain-model

JavaScript
6
star
30

meteor-private-packages

Allows you to add private packages to your app.
JavaScript
6
star
31

whirlwind

Artilary based performance testing that runs on the serverless framework, supporting high-order functions like Stress, Soak, Load, Spike and DDOS attacks
JavaScript
6
star
32

chimp-datasources-generator

Mustache
5
star
33

webpack-federation-storybook-design-systems-demo

TypeScript
4
star
34

meteor-github-stub

A stub for use in testing Meteor apps. Fakes the oauth calls amongst other APIs.
JavaScript
4
star
35

aws-sales-system-example

TypeScript
3
star
36

qualityfaster-old

The code behind the book
JavaScript
3
star
37

dynamodb-toolbox-examples

TypeScript
3
star
38

dynamodb-testing-tool

TypeScript
3
star
39

meteor-twitter-stub

Provides an Twitter OAuth stub for testing and local development
JavaScript
3
star
40

pan-am-supergraph-demo

Demo Federation 2 Router + Subgraphs
JavaScript
3
star
41

cdk-typescript-tooling-example-live

TypeScript
3
star
42

instant-mock

InstantMock allows teams to quickly create mock GraphQL endpoints to eliminate delays and bottlenecks for front-end and QA teams caused by backend API readiness.
TypeScript
2
star
43

chimp-monorepo-example

TypeScript
2
star
44

chimp-graphql-codegen-plugin

TypeScript
2
star
45

meteor-package-boilerplate

A great boilerplate for your awesome new Meteor package
JavaScript
2
star
46

contentful-pipelines

Provides connivence methods for running Contentful migrations.
TypeScript
2
star
47

patcher

Patches Meteor methods and allows you to override "this" attributes for testing purposes
JavaScript
2
star
48

meteor-core-js

ES2015 and ES2016 polyfills in Meteor apps via core-js
JavaScript
2
star
49

enterprise-apollo-graphql

Practice repo of the Enterprise Apollo GraphQL course
TypeScript
2
star
50

chimp-gql-tiny-example

TypeScript
1
star
51

graphql-federation-sandbox

Shell
1
star
52

chimp-widgets-demo

Demo for Chimp Widgets
JavaScript
1
star
53

apollo-composable-with-vue-stories-demo

Apollo Composable with Vue Storybook Stories example
JavaScript
1
star
54

contentful-apollo-federation-example

Example of how to use the contentful-apollo-federation package
TypeScript
1
star
55

meteor-wallaby-sandbox

Sandbox project to get Wallaby working with Meteor.
JavaScript
1
star
56

lerna-dependencies-generator

Move your monolith dependencies into your monorepo packages
JavaScript
1
star
57

babel-async-comment-bug

Reproduce an issue with babel where adding a comment in an async function's arguments list can break it
JavaScript
1
star
58

why-so-loud-jest

JavaScript
1
star
59

swag-shop

The Xolvio Swag Shop is a React application built to demonstrate the power of integrating multiple technologies, including ApolloGraphQL. It is served from three subgraphs and provides an ideal environment for testing, demo purposes, and showcasing interaction with InstantMock.
TypeScript
1
star