Skip to content

Instantly share code, notes, and snippets.

tooky / property.feature
Last active Apr 19, 2018
gherkin <3 properties
View property.feature
Feature: Calculate order total
Rule: discounts are applied for eligible, registered users
Given the registered customer
| email | <email> |
| eligible for discount | <eligible> |
| discount | <discount> |
When there is an order by <order-email> for <amount>
Then the order total should be <total>
tooky / .mobbers
Last active Mar 22, 2018
prepare-commit-msg hook to include potention Co-authors
View .mobbers
Co-authored-by: Joanne Bloggs <>
Co-authored-by: John Dowe <>
# Your init script
# Atom will evaluate this file each time a new window is opened. It is run
# after packages are loaded/activated and after the previous editor state
# has been restored.
# An example hack to log to the console when each text editor is saved.
# atom.workspace.observeTextEditors (editor) ->
# editor.onDidSave ->
tooky / bumbailiff
Created Sep 18, 2017
Bumbailiff - A script for ageing TODO comments in code.
View bumbailiff
#!/usr/bin/env bash
# The bumbailiff allows the team to take up a small amount of technical debt
# (TODOs in the code) for a limited period. After that period the script fails.
# It will find // TODO in .js or .jsx files, and # TODO in .feature files.
# For example, if the allowed period for all the TODOs is 14 days.
# * It's OK to have 1 TODO that is 13 days old
# * It's OK to have 3 TODOs that are 4 days old
View ShoutyExtension.php
use Shouty\Shouty;
use Symfony\Component\Config\Definition\Builder\ArrayNodeDefinition;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Behat\Testwork\ServiceContainer\ExtensionManager;
use Behat\Testwork\ServiceContainer\Extension;
use Behat\Behat\Context\ServiceContainer\ContextExtension;
use Behat\Behat\Context\Initializer\ContextInitializer;
use Behat\Behat\Context\Context;
View safe_promise_fiddling.js
it('can be returned like a promise', () => {
let expectedError = new Error('I am not good.');
let SafePromise = safePromises.failWith(actualError => {
return SafePromise.reject(expectedError)
.then(() => { throw new Error('should be caught') })
View behat.yml
- FeatureContext:
baseUrl: http://localhost:8080/
View war.feature
Feature: A Game of War
Scenario: Two Card Deck
Given a shuffled deck with the following cards:
| 2 ♥ |
| 3 ♣ |
And the cards are dealt evenly between 2 players
When the first hand is played
Then player 2 should hold all the cards
And player 2 should have won the game
View wire.rb
puts "*" * 100
require 'cucumber/wire_support/wire_language'
class WireFilter <
def test_case(test_case)
test_case.describe_to receiver
View execute_with_tag_filter.feature
Feature: Tag logic
In order to conveniently run subsets of features
As a Cuker
I want to select features using logical AND/OR of tags
Given a file named "features/test.feature" with:
Feature: Sample