Skip to content

Add StateMachine.StateWithArgs#102

Merged
qmuntal merged 2 commits intoqmuntal:masterfrom
sergiogbr:feat/statewithargs
Feb 10, 2026
Merged

Add StateMachine.StateWithArgs#102
qmuntal merged 2 commits intoqmuntal:masterfrom
sergiogbr:feat/statewithargs

Conversation

@sergiogbr
Copy link
Contributor

  • Add comprehensive documentation for StateWithArgs method explaining its purpose and use case
  • Add 4 unit tests covering different scenarios:
    • Basic usage with NewStateMachine
    • Usage with NewStateMachineWithExternalStorage
    • Full functionality with NewStateMachineWithExternalStorageAndArgs
    • Error handling when state accessor fails
  • All tests follow existing test patterns and pass successfully

- Add comprehensive documentation for StateWithArgs method explaining its purpose and use case
- Add 4 unit tests covering different scenarios:
  * Basic usage with NewStateMachine
  * Usage with NewStateMachineWithExternalStorage
  * Full functionality with NewStateMachineWithExternalStorageAndArgs
  * Error handling when state accessor fails
- All tests follow existing test patterns and pass successfully
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds the StateWithArgs method to the StateMachine API, which exposes both the current state and any arguments that were passed to the state mutator. This is particularly useful when using NewStateMachineWithExternalStorageAndArgs to retain additional state information alongside the state itself.

Changes:

  • Added StateWithArgs method to StateMachine with documentation explaining its purpose
  • Added 4 comprehensive unit tests covering different state machine initialization patterns and error handling
  • All tests follow existing naming conventions and test patterns

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
statemachine.go Adds the StateWithArgs method with clear documentation explaining when it's useful (primarily with NewStateMachineWithExternalStorageAndArgs)
statemachine_test.go Adds 4 unit tests covering StateWithArgs with NewStateMachine, NewStateMachineWithExternalStorage, NewStateMachineWithExternalStorageAndArgs, and error handling scenarios

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@qmuntal
Copy link
Owner

qmuntal commented Feb 6, 2026

PR looks good, thanks! CI is broken on master too, will fix that myself.

@qmuntal qmuntal changed the title Add documentation and tests for StateWithArgs method Add StateMachine.StateWithArgs Feb 6, 2026
@qmuntal
Copy link
Owner

qmuntal commented Feb 6, 2026

Needs rebasing, sorry

@sergiogbr
Copy link
Contributor Author

done :)

@qmuntal qmuntal merged commit baed0e5 into qmuntal:master Feb 10, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants