Skip to content

Instantly share code, notes, and snippets.

View tooky's full-sized avatar

Steve Tooke tooky

View GitHub Profile
tooky / property.feature
Last active April 19, 2018 16:06
gherkin <3 properties
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 March 22, 2018 14:02
prepare-commit-msg hook to include potention Co-authors
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 September 18, 2017 14:53
Bumbailiff - A script for ageing TODO comments in code.
#!/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
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;
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') })
- FeatureContext:
baseUrl: http://localhost:8080/
tooky / war.feature
Last active September 2, 2015 19:11
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
puts "*" * 100
require 'cucumber/wire_support/wire_language'
class WireFilter <
def test_case(test_case)
test_case.describe_to receiver
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