Make block/epoch alignment in tests more predictable #555
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
(Temporarily targeting the pcv/fix-tests branch as this builds on #554)
Now that blocks are mined predictably in our unit tests (i.e. one block per transaction), any tests that rely on a specific number of blocks passing can break if the number of transactions changes. This was evident when I incorporated the changes from #554 into #552, see: https://github.com/graphprotocol/contracts/runs/5728132209?check_suite_focus=true - adding a transaction in the fixtures bringup caused the test to spill over into the next epoch, changing the results.
So this PR makes a few changes to make tests hopefully more predictable and robust:
advanceToNextEpoch
function to always advance to the first block in the next epoch, rather than always advancing a full epoch