Skip to content

[Test logic] Controller scenario never asserts volume / muted in server/state #44

@balloob

Description

@balloob

Problem

The spec defines controller.volume (0-100) and controller.muted (bool) in the server/state controller object. The harness:

  • Surfaces them in client_summary.controller.received_state.volume / muted (see aiosendspin_client.py:151-158 _normalize_controller_state).
  • Surfaces them on the server side too (aiosendspin_server.py:497-502).
  • Never compares themrunner.py:684-697 _compare_controller_summaries only asserts expected == received == sent for the command.

So a server that lies about volume (or omits muted) passes the controller scenario.

Proposed fix

  1. Extend _compare_controller_summaries to assert the client's received_state.volume and muted equal the server's reported values.
  2. Parameterize the controller scenario (or add new scenarios) to cover non-default values — volume=37, muted=true, etc.

Spec references

  • "Server → Client: server/state controller object"
  • "Reading group volume" / "Reading group mute"

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions