PlugIns.JdbcSlim.UserGuide.1ASimpleExample.WritingGenericRequirementsWithAlias

PlugIns JdbcSlim UserGuide 1ASimpleExample



Requirements should not contain SQL code:


This can be achieved easily with JdbcSlim[?].

Lets rewrite the first example with Ben and Sarah but write it in less technical terms.
The SQL Code can be moved into a seperate SetUp[?] page.

Included page: >SqlSetUp

Define Properties FindTestUserIDs
key value
.include TransactionDatabase
cmd select ID, NAME from TestData where Name ='%NAME%'

Define Properties CheckInitalCityOfUsers
key value
.include TransactionDatabase
cmd select City from TestData where ID ='%ID%'

Define Properties RelocateUserToNewCity
key value
.include TransactionDatabase
cmd update TestData set City='%NewCITY%' where ID ='%ID%'

Define Properties CheckFinalCityOfUsers
key value
.include TransactionDatabase
cmd select City from TestData where ID ='%ID%'


Script SQLCommand FindTestUserIDs
$FTU= get fixture

Define alias
find test users table: $FTU

Script SQLCommand CheckInitalCityOfUsers
$CICoU= get fixture

Define alias
check first city of users table: $CICoU

Script SQLCommand RelocateUserToNewCity
$RUTNC= get fixture

Define alias
relocate users table: $RUTNC

Script SQLCommand CheckFinalCityOfUsers
$CFCoU= get fixture

Define alias
Check city after relocation table: $CFCoU



To avoid side effects we execute the test in a transaction
Script SQLCommand TransactionDatabase
open Connection
execute begin transaction


1 Preparing test data


Find the ID of users named Ben and Sarah which should move.
We store the Id of the users in a Slim Symbol '$TestID' for future reference.


find test users
ID? NAME
$TestID= Ben
$TestID2= Sarah

Before we proceed we validate that Ben and Sarah still live in the old Cities: Denver and Paris

check first city of users
ID CITY?
$TestID Denver
$TestID2 Paris


2 Execution some business functions


Here calls to your business code will go.
A simple update statement which can do the job is given below.
relocate users
ID NewCITY Count?
$TestID HongKong 1
$TestID2 Tokyo 1


3 Validating the impact on the test data


Finally we check that Ben now lives in Hong Kong and Sarah in Tokyo

Check city after relocation
ID CITY?
$TestID HongKong
$TestID2 Tokyo

Included page: >SqlTearDown

Rollback the change to not impact future tests


Script SQLCommand TransactionDatabase debug
open Connection
execute rollback
close Connection

Check that the rollback worked

SQLCommand TransactionDatabase select City from TestData where ID ='%ID%'
ID CITY?
$TestID Denver
$TestID2 Paris

Contents: