// Copyright � 2002-2005 Canoo Engineering AG, Switzerland.
package com.canoo.webtest.steps.verify;
import com.canoo.webtest.engine.StepExecutionException;
import com.canoo.webtest.self.TestBlock;
import com.canoo.webtest.self.ThrowAssert;
import com.canoo.webtest.steps.BaseStepTestCase;
import com.canoo.webtest.steps.form.AbstractSetFieldStep;
public abstract class AbstractVerifyFormTest extends BaseStepTestCase {
private AbstractVerifyFormStep fStep;
protected void setUp() throws Exception {
super.setUp();
fStep = (AbstractVerifyFormStep) getStep();
}
public void testNoCurrentResponse() {
fStep.setName("some name");
assertStepRejectsNullResponse(fStep);
}
public void testMandatoryParams() {
final Throwable t = ThrowAssert.assertThrows("param == null", StepExecutionException.class, new TestBlock() {
public void call() throws Exception {
executeStep(fStep);
}
});
assertEquals(AbstractSetFieldStep.MESSAGE_ARGUMENT_MISSING, t.getMessage());
}
public void testRejectsInvalidFieldIndex() {
fStep.setName("some name");
fStep.setFieldIndex("non-numeric value");
String message = ThrowAssert.assertThrows(StepExecutionException.class, new TestBlock() {
public void call() throws Exception {
executeStep(fStep);
}
});
assertEquals("Can't parse fieldIndex parameter with value 'non-numeric value' as an integer.", message);
}
}