blob: 01d151ce509bba15032de11f0a1144ffdcb17760 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!DOCTYPE project SYSTEM "../../../../modules/development/test/canoo/lenya_webtest.dtd">
<project name="workflow" basedir="." default="main">
<import file="../../../../modules/development/test/canoo/macros.xml"/>
<target name="main" depends="sequence, published-footer, overview"/>
<target name="sequence">
<webtest name="workflow-sequence">
&doConfig;
<steps>
<!-- login as lenya -->
<doLogin username="lenya" password="levi"/>
<verifyElementText type="span" name="workflow-state" text="authoring"/>
<!-- publish not allowed -->
<invoke url="index.html?lenya.usecase=workflow.publish"/>
<verifyText text="The event publish is not executable on document"/>
<clickButton name="cancel"/>
<verifyText text="Welcome to the Default Publication from the Lenya community!"/>
<!-- submit -->
<invoke url="index.html?lenya.usecase=workflow.submit"/>
<verifyText text="Submit &quot;Welcome to the Lenya default publication&quot; for approval"/>
<clickButton name="submit"/>
<verifyElementText type="span" name="workflow-state" text="review"/>
<!-- logout -->
<doLogout/>
<!-- login as alice -->
<doLogin username="alice" password="levi"/>
<verifyElementText type="span" name="workflow-state" text="review"/>
<!-- reject -->
<invoke url="index.html?lenya.usecase=workflow.reject"/>
<verifyText text="Reject document &quot;Welcome to the Lenya default publication&quot;"/>
<clickButton name="submit"/>
<verifyElementText type="span" name="workflow-state" text="authoring"/>
<!-- logout -->
<doLogout/>
<!-- login as lenya -->
<doLogin username="lenya" password="levi"/>
<verifyElementText type="span" name="workflow-state" text="authoring"/>
<!-- submit -->
<invoke url="index.html?lenya.usecase=workflow.submit"/>
<verifyText text="Submit &quot;Welcome to the Lenya default publication&quot; for approval"/>
<clickButton name="submit"/>
<verifyElementText type="span" name="workflow-state" text="review"/>
<!-- logout -->
<doLogout/>
<!-- login as alice -->
<doLogin username="alice" password="levi"/>
<verifyElementText type="span" name="workflow-state" text="review"/>
<!-- publish -->
<invoke url="index.html?lenya.usecase=workflow.publish"/>
<clickButton name="submit"/>
<verifyElementText type="span" name="workflow-state" text="live"/>
<!-- deactivate -->
<invoke url="index.html?lenya.usecase=workflow.deactivate"/>
<clickButton name="submit"/>
<verifyElementText type="span" name="workflow-state" text="authoring"/>
<!-- logout -->
<doLogout/>
</steps>
</webtest>
</target>
<target name="published-footer">
<webtest name="Workflow sequence">
<config host="${webtest.config.host}" port="${webtest.config.port}"
protocol="http" basepath="default">
<option name="ThrowExceptionOnFailingStatusCode" value="false"/>
</config>
<steps>
<!-- login as alice -->
<doLogin username="alice" password="levi" url="authoring/tutorial.html"/>
<verifyElementText type="span" name="workflow-state" text="authoring"/>
<!-- submit -->
<invoke url="authoring/tutorial.html?lenya.usecase=workflow.submit"/>
<clickButton name="submit"/>
<verifyElementText type="span" name="workflow-state" text="review"/>
<!-- live version should not exist -->
<invoke url="live/tutorial.html"/>
<storeResponseCode property="status" />
<verifyProperty name="status" text="404"/>
<!-- publish -->
<invoke url="authoring/tutorial.html"/>
<verifyText text="This page has not been published yet."/>
<invoke url="authoring/tutorial.html?lenya.usecase=workflow.publish"/>
<clickButton name="submit"/>
<verifyElementText type="span" name="workflow-state" text="live"/>
<verifyText text="This page was last published at"/>
<verifyText text="by Alice."/>
<invoke url="live/tutorial.html"/>
<verifyText text="This page was last published at"/>
<!-- logout -->
<doLogout url="authoring/tutorial.html"/>
</steps>
</webtest>
</target>
<target name="overview">
<webtest name="workflow.multiWorkflow">
&doConfig;
<steps>
<!-- login as lenya -->
<doLogin username="lenya" password="levi"/>
<verifyElementText type="span" name="workflow-state" text="authoring"/>
<!-- request workflow overview -->
<invoke url="index.html?lenya.usecase=workflow.multiWorkflow"/>
<verifyElementText type="h1" text="Workflow Overview"/>
<!-- logout -->
<doLogout/>
</steps>
</webtest>
</target>
</project>