Caplin Trader 4.7.1

Class: module:caplin/component/testing/ComponentFixture

module:caplin/component/testing/ComponentFixture

The ComponentFixture serves to create components using the ComponentFactory when these are required in the system under test.

In addition to creating and opening the component, the ComponentFixture defines several sub-fixtures to be added to the test runner, enabling the testing and manipulation of the view and presentation model of the component.

Constructor

new module:caplin/component/testing/ComponentFixture(sXml, oModelFixture, oViewFixtureopt)

Constructs a caplin.component.testing.ComponentFixture.
Parameters:
Name Type Attributes Default Description
sXml String the component XML required by the ComponentFactory to create the component.
oModelFixture module:br/component/testing/ComponentModelFixture the presentation model fixture.
oViewFixture module:caplin/dom/testing/ViewFixture <optional>
{module:caplin/dom/testing/ViewFixture} the view fixture.
Implements:

Methods

addSubFixtures()

The ComponentFixture adds the following sub-fixtures:
  • model: the presentation model fixture, for manipulating and verifying properties in the presentation model
  • view: the view fixture, the view fixture, for manipulating and verifying the state of elements on the component's view
  • componentFrame: the component frame fixture, for verifying the state of the module:caplin/component/frame/ComponentFrame housing the component
Implements:
See:

addViewFixtureHandlers(viewHandlersMap)

Allows custom view handlers to be added. The ViewFixture's addViewHandlers method throws an exception if an attempt is made to override an existing handler.
Parameters:
Name Type Description
viewHandlersMap Map A map of handler name to handler class constructor reference

canHandleExactMatch()

Implements:
  • module:br/test/Fixture#canHandleExactMatch
See:
  • module:br/test/Fixture#canHandleExactMatch

canHandleProperty(sProperty)

ComponentFixture handles the 'opened' property.
Parameters:
Name Type Description
sProperty String name of the property
Implements:
See:

doGiven(sProperty, vValue)

This method creates and opens the component created, and sets it on the presentation model and view sub-fixtures so that tests may manipulate model properties and the view elements.
Parameters:
Name Type Description
sProperty String name of the property
vValue String value of the property
Implements:
See:

doThen(sProperty, vValue)

doThen is not supported on the ComponentFixture.
Parameters:
Name Type Description
sProperty String name of the property
vValue String value of the property
Implements:
See:

doWhen(sProperty, vValue)

doWhen is not supported on the ComponentFixture.
Parameters:
Name Type Description
sProperty String name of the property
vValue String value of the property
Implements:
See:

getComponent()

Returns the Component under test.

onOpen(callback)

This method can be called to set a function on the fixture which will be executed whenever the component is created and opened.
Parameters:
Name Type Description
callback function the function to execute on opening the component

setSelectorMappings(selectorMappings)

Set the selector mappings to use with the view fixture. This method proxies the call to the module:br/test/ViewFixture#setSelectorMappings method.
Parameters:
Name Type Description
selectorMappings Object Map of selector mappings.

setUp()

Upon set-up of the ComponentFixture, the ComponentFactory is configured not to create an ErrorComponent. If no component can be created with the given XML configuration, an exception will be thrown instead.
Implements:
See:

tearDown()

Upon tear-down of the ComponentFixture, the component created is closed and the ComponentFactory is re-configured to its original settings.
Implements:
See:

tearDownOldComponentAndRecreateWithNewXML(sXml)

Tear down this fixture and and recreate the component with the passed in xml string.
Parameters:
Name Type Description
sXml String the xml string for the component.