Scenario Libraries
Included page: .FitNesse.SuiteAcceptanceTests.ScenarioLibrary (edit)
scenario |
given page |
page |
with content |
content |
create page |
@page |
with content |
@content |
$IT= |
echo |
@page |
scenario |
given page |
page |
given page |
@page |
with content |
nothing |
scenario |
given test page |
page |
given page |
@page |
make |
@page |
a test page |
scenario |
given slim test page |
page |
given page |
@page |
with content |
!define TEST_SYSTEM {slim} |
make |
@page |
a test page |
scenario |
page |
source |
should have link to |
target |
check |
request page |
@source |
200 |
ensure |
content contains |
<a href="@target"> |
$IT= |
echo |
@source |
scenario |
it should have link to |
target |
page |
$IT |
should have link to |
@target |
scenario |
and it should have link to |
target |
page |
$IT |
should have link to |
@target |
scenario |
page |
source |
should have creating link to |
target |
check |
request page |
@source |
200 |
ensure |
content contains |
@target<a title="create page" href="@target?edit&nonExistent=true">[?]</a> |
scenario |
it should have creating link to |
target |
page |
$IT |
should have creating link to |
@target |
scenario |
page |
source |
should contain |
text |
check |
request page |
@source |
200 |
ensure |
content contains |
@text |
show |
content |
scenario |
page |
source |
should not contain |
text |
check |
request page |
@source |
200 |
reject |
content contains |
@text |
show |
content |
scenario |
page |
source |
should match |
text |
check |
request page |
@source |
200 |
ensure |
content matches |
@text |
show |
content |
scenario |
it should contain |
text |
page |
$IT |
should contain |
@text |
scenario |
it should not contain |
text |
page |
$IT |
should not contain |
@text |
scenario |
it should contain |
text |
in line |
symbol |
check |
request page |
$IT |
200 |
$@symbol= |
line number containing |
@text |
scenario |
it should match |
text |
page |
$IT |
should match |
@text |
scenario |
test results for page |
source |
should contain |
text |
check |
request page |
@source?test |
200 |
ensure |
content contains |
@text |
show |
content |
scenario |
its test results should contain |
text |
test results for page |
$IT |
should contain |
@text |
scenario |
test ressults for page |
source |
should not contain |
text |
check |
request page |
@source?test |
200 |
reject |
content contains |
@text |
show |
content |
scenario |
and should contain |
text |
ensure |
content contains |
@text |
show |
content |
scenario |
and should match |
text |
ensure |
content matches |
@text |
show |
content |
scenario |
and should not contain |
text |
reject |
content contains |
@text |
show |
content |
scenario |
widget |
wikiText |
should render |
htmlText |
create page |
WidgetPage |
with content |
@wikiText |
check |
request page |
WidgetPage |
200 |
ensure |
content matches |
@htmlText |
show |
content |
scenario |
the line |
after |
should come after |
before |
check |
echo int |
$@before |
< $@after |
Included page: .FitNesse.SuiteAcceptanceTests.SuiteWikiImportTests.ScenarioLibrary (edit)
scenario |
import |
importedPage |
into |
importingPage |
check |
request page |
@importingPage?responder=import&remoteUrl=http://localhost:9123/@importedPage |
200 |
scenario |
Water mark and edit buttons should be on page |
page |
check |
request page |
@page |
200 |
ensure |
content matches |
<body class="imported"> |
ensure |
content matches |
Edit Locally |
ensure |
content matches |
Edit Remotely |
scenario |
Water mark and edit buttons should not be on page |
page |
check |
request page |
@page |
200 |
reject |
content matches |
<body class="imported"> |
reject |
content matches |
Edit Locally |
reject |
content matches |
Edit Remotely |
Importing pages can be configured to automatically update upon test.
Create a page tree to be imported.
Page creator. |
Page name. |
Page contents. |
valid? |
ImportedRoot |
!contents |
true |
ImportedRoot.PageOne |
page one |
true |
ImportedRoot.PageOne.ChildOne |
child one |
true |
ImportedRoot.PageTwo |
page two |
true |
Create an importing page.
Page creator. |
Page name. |
Page contents. |
valid? |
ImportingPage |
!contents |
true |
This ImportingPage will now import the ImportingRoot page created above.
Auto Update is turned one
Response Requester. |
uri |
valid? |
ImportingPage?responder=import&autoUpdate=0&remoteUrl=http://localhost:9123/ImportedRoot |
true |
We see all 3 pages imported.
Response Examiner |
type |
pattern |
matches? |
contents |
3 pages were imported |
true |
Sleep a bit so that the last modification time actually changes.
Change one of the imported pages.
Save Page Requester |
uri |
save contents |
status! |
ImportedRoot.PageOne?edit |
Some ultra fresh content |
303 |
Now lets run the Suite.
Response Requester. |
uri |
valid? |
ImportingPage?suite |
true |
An import message is displayed in the test output.
Response Examiner |
type |
pattern |
matches? |
contents? |
contents |
Updating imported content... |
true |
|
Looking at the imported copy of the modified page will reveal that it was indeed updated.
Response Requester. |
uri |
valid? |
ImportingPage.PageOne |
true |
Response Examiner |
type |
pattern |
matches? |
contents |
Some ultra fresh content |
true |