When we move a page from one location to another, all references to that page should be changed.


First build a page, a subpage to move, and a target page to move it to. Then build a page that references the sub child to be moved.

Page creator.
Page name. Page contents. valid?
ParentPage x true
ParentPage.SubPage sub page true
NewParentPage x true
ReferingPage ParentPage.SubPage true

Then move the sub page.

Response Requester.
uri status?
ParentPage.SubPage?responder=movePage&newLocation=NewParentPage&refactorReferences=on

Next fetch the moved page.

Response Requester.
uri valid? contents?
NewParentPage.SubPage true

Make sure that the sub page can be referenced in it's new location.

Response Examiner.
type pattern matches? wrapped html?
contents sub page true

Make sure that there is no sub page beneath ParentPage.

Response Requester.
uri valid? contents?
ParentPage.SubPage?getPage&dontCreatePage false

Finally, make sure that the refering page now refers to the new location.

Response Requester.
uri valid? contents?
ReferingPage true

Response Examiner.
type pattern matches? wrapped html?
contents NewParentPage.SubPage true