Following bluesky/ophyd-async#1129 we should inject logic into the device wherever we're using it a lot in mocks.
For the zebra we add the following logic downstream:
def mock_side(demand: ArmDemand):
set_mock_value(zebra.pc.arm.armed, demand.value)
return NullStatus()
zebra.pc.arm.set = MagicMock(side_effect=mock_side)
we should instead inject it.
Acceptance Criteria
- Above code is injected into the device mock
- Downstream code no longer does the inject and tests still work