Test Scenario: Manage the sensitivity templates

Table of Contents

This page documents a test scenario verifying Manage the sensitivity templates in Make every configuration screen follow one standard. Run it on the provisioned environment and record each step's outcome in its own table.

1. Before you start

These are yours to run before the tester opens the browser.

  • Confirm the environment matches this checkout. compass db status shows the fingerprint in sync; if it is stale, run compass db recreate -y -k.
  • Start the fleet and confirm 24 services are active. compass services status.
  • Provision the tenant if it is not there, and confirm no step failed. The vocabulary holds 5 methods, 5 asset classes and 19 templates.
  • The screen's writing role is Operations. tenant_admin holds the wildcard and may write; adrian.vance@acme_corporation holds Operations and is the account to use when checking the role boundary.

2. Scenario Info

Field Value
Verifies task Manage the sensitivity templates
Parent story Make every configuration screen follow one standard
Target screen Reporting → Sensitivity templates, on http://localhost:21002
Clients  
State PASSED

3. Steps

3.1. Log in as the tenant administrator

  • Open http://localhost:21002.
  • Log in as tenant_admin@acme_corporation with Secure-Password-123.
  • Choose the party ACME Corporation HK Ltd.

3.1.1. Result

Field Value
Status PASS

3.2. Read the list

  • Open Reporting, then Sensitivity templates.
  • The list states the code, the asset class, the method and the description of each template.
  • The asset class and the method read in words, such as Interest rate and Finite difference, not as codes.
  • The first page holds 15 of the 19 keys, and the pager says so.
  • The keys read alphabetically, with SensiTrade after the CR keys.

3.2.1. Result

Field Value
Status PASS

3.3. Search on the server

  • Type =IR_ in the search.
  • The list narrows to the four interest rate keys and the pager count follows.
  • Clear the search and the list returns to 19.

3.3.1. Result

Field Value
Status PASS

3.4. Read one key

  • Open IR_FD.
  • The title is the code and the line under it shows the version.
  • Details states the asset class Interest rate, the method Finite difference, the method code FD, the template prefix IR, and the seeded description.
  • The screen says the key names what a pricing engine configuration puts on a product, that the class is the class of that product, and that the shift sizes the key applies are set per market key in the sensitivity configuration, which may set them on keys outside that class.
  • History shows its first version with the reason the seed gave.

3.4.1. Result

Field Value
Status PASS

3.5. Read the trade-level key

  • Return to the list and open SensiTrade.
  • The Details state no asset class, the method Trade level, the method code Trade, and the seeded description.
  • The record explains that a trade-level template names no asset class, because the trade states its own sensitivities.

3.5.1. Result

Field Value
Status PASS

3.6. Create a key

  • Choose New template.
  • The dialog asks for a code, an asset class, a method and a description.
  • Asset class and method are selects, not text fields. The asset class select offers the five classes ORE presents, by name; the method select offers the five methods by name.
  • Choosing Finite difference shows the method code FD as the token the key carries; no field accepts a method code.
  • Enter code PW_SENS_FD, asset class Interest rate, method Finite difference, and a description of your own, then give a reason and save.
  • The record page opens on the new key and the list shows 20.

3.6.1. Result

Field Value
Status PASS
Notes The key was created. The refusal that followed was a PUT to the previously opened trade-level key: its class reached the service as a null the write protocol could not decode. Fixed in #3939: the BFF states an empty class at that boundary. Re-proved at the API, where SensiTrade, IR_FD and COMM_MC all update with 200.

3.7. A key the tenant holds is refused

  • Choose New template again and enter the code IR_FD.
  • Saving is refused and the refusal names the code the tenant already holds.

3.7.1. Result

Field Value
Status PASS

3.8. The trade-level method names no class

  • Choose New template and choose the method Trade level.
  • The asset class select clears and is disabled, and the dialog says a trade-level template names no asset class.
  • Choose Cancel; nothing is written.

3.8.1. Result

Field Value
Status PASS

3.9. Correct the key

  • On PW_SENS_FD, choose Edit.
  • The code is shown but cannot be changed; asset class and method are the two selects; the method code follows the method.
  • Change the description, give a reason and a commentary, and save.
  • The record page shows the new words and the version one higher.
  • History lists the new version with the reason and the commentary.

3.9.1. Result

Field Value
Status PASS

3.10. Remove the key

  • Choose Delete on PW_SENS_FD. The dialog states the row it removes.
  • Confirm. The list returns to the 19 seeded keys.
  • Open IR_FD again: it is still version 1, with the seeded words, and its history is unchanged.

3.10.1. Result

Field Value
Status PASS

4. Results

Field Value
Status PASSED
Completed at 2026-10-27
Branch review/sensitivity-templates-scenario
Commit 282d113765
Worktree ores_dev_solid_dirac
Notes One UI run. The create step's follow-on refusal was fixed in #3939 and proved at the API; this database holds the probe versions of IR_FD, COMM_MC and SensiTrade.

5. Notes

  • The method code is derived from the method and is never typed. The method's row states both forms; the table checks that the class is null exactly for the trade-level method.
  • The screen manages keys only. A key's shift sizes, tenors and shift schemes belong to the sensitivity configuration, and its key attributes are how a template reaches market keys of any class.
  • The seeded 19 keys are the ones ORE's examples use. A tenant may add a key of its own; the table does not hold the key to a spelling, because ORE resolves the key a configuration states.
  • The asset class is a soft reference to the reference data asset class codes. The prefix the key carries (COMM for commodity) comes from the bridge the screen reads.

Emacs 29.3 (Org mode 9.6.15)