Creating new context APIs
When you create a new LOB-agnostic context APIs, you must create several new files and add code to existing files. The following diagram illustrates an example of this. In the diagram, base configuration resources appear in black. New files and code added to existing files appears in blue.
In this example, there are new scenarios testing the impact of holidays on activity due dates. To test these scenarios, a new CalendarContext must be created to add new step methods that create holidays, create activities, and verify activity due dates.

First, you must create one or more new scenarios in new feature files (#1). These files specify new steps, such as "Given tomorrow is the only holiday".
Then, you must create a new step definition in a new step class (#2). Guidewire recommends naming it ContextSteps_Ext, such as CalendarSteps_Ext. Like the base configuration step classes, the new class must inject an instance of ContextFactory.
You must add two new resources for the new context API itself (#3):
- CalendarContext_Ext, which is an interface that defines the new methods needed.
- CalendarContextImpl_Ext, which is an impl that implements the new interface. The new implementation code is stored here.
You must also add code to Context Factory (#4):
- ContextFactory - Add a method the specifies a return value of the new context API.
- ContextFactoryImpl - Inject the new context API into this impl, and override the new interface method.
Finally, in PCRemoteSmokeTestHelperModule (#5), you must bind the new interface to the new impl.
