Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Testing: Item Movement #10253

Open
bhollis opened this issue Jan 31, 2024 · 0 comments
Open

Testing: Item Movement #10253

bhollis opened this issue Jan 31, 2024 · 0 comments

Comments

@bhollis
Copy link
Contributor

bhollis commented Jan 31, 2024

There are a number of bugs or at least weird corner cases with how item movement works. I'd love for us to fix them, but the item movement logic is very complex and the chances of any fix breaking something else is high.

To make fixes possible, we should have a robust test suite for item movement. That will allow us to change things without fear of breaking existing behavior, and allow us to reproduce bugs in a test environment and be sure they're fixed.

There are a few steps here:

  1. Create an inventory test fixture that lets us easily configure different scenarios. This can start with my profile export but then create conditions like varying levels of free space in different buckets, different stacks of consumables, etc. It should be simple to set up states that allow us to reproduce bugs.
  2. Set up some sort of mocking for the Bungie.net transfer/lock APIs so we can simulate different outcomes.
  3. Build out a suite of tests for existing item movement scenarios, guided by code coverage and comments to try and capture all the edge cases that are currently handled.
  4. Write tests that reproduce our open bugs and then fix them. See the "Feature: Item Movement" label.

I would love help with this, as I don't feel like I have time to really make progress on it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant