Last active
May 9, 2017 12:54
-
-
Save elpete/52fc9dede32a52ae51dde6b754500a24 to your computer and use it in GitHub Desktop.
Snapshot Testing in TestBox
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
component { | |
function index( event, rc, prc ) { | |
var criteria = event.valueExists( "active" ) ? { active = rc.active } : {}; | |
var users = getInstance( "User" ).findAllWhere( criteria ) | |
.map( function( user ) { | |
return user.getMemento(); | |
} ); | |
event.renderData( data = users, format = "json" ); | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
component extends="coldbox.system.testing.BaseTestCase" { | |
function run() { | |
describe( "users handler", function() { | |
beforeEach( function() { | |
setup(); | |
variables.users = [ | |
getWireBox().getInstance( "User" ).new( { name = "John", active = true } ), | |
getWireBox().getInstance( "User" ).new( { name = "Jane", active = false } ) | |
]; | |
for ( var user in users ) { | |
user.save(); | |
} | |
} ); | |
afterEach( function() { | |
for ( var user in users ) { | |
user.delete(); | |
} | |
} ); | |
it( "can return all users", function() { | |
var event = execute( event = "api.v1.users", renderResults = true ); | |
var users = event.getRenderedContent(); | |
expect( users ).toBe( [ | |
{ name = "John", active = true }, | |
{ name = "Jane", active = false } | |
] ); | |
} ); | |
it( "can filter the list of users returned", function() { | |
getRequestContext().setValue( "active", true ); | |
var event = execute( event = "api.v1.users", renderResults = true ); | |
var users = event.getRenderedContent(); | |
expect( users ).toBe( [ | |
{ name = "John", active = true } | |
] ); | |
} ); | |
} ); | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
component extends="coldbox.system.testing.BaseTestCase" { | |
function beforeAll() { | |
super.beforeAll(); | |
addMatchers( "testbox-snapshots.SnapshotMatchers" ); | |
} | |
function run() { | |
describe( "users handler", function() { | |
beforeEach( function() { | |
setup(); | |
variables.users = [ | |
getWireBox().getInstance( "User" ).new( { active = true } ).save(), | |
getWireBox().getInstance( "User" ).new( { active = false } ).save() | |
]; | |
} ); | |
afterEach( function() { | |
for ( var user in users ) { | |
user.delete(); | |
} | |
} ); | |
it( "can return all users", function() { | |
var event = execute( event = "api.v1.users", renderResults = true ); | |
var users = event.getRenderedContent(); | |
expect( users ).toMatchSnapshot(); | |
} ); | |
it( "can filter the list of users returned", function() { | |
getRequestContext().setValue( "active", true ); | |
var event = execute( event = "api.v1.users", renderResults = true ); | |
var users = event.getRenderedContent(); | |
expect( users ).toMatchSnapshot(); | |
} ); | |
} ); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment