The `siatest/renter` package looks at a lot of the same information in many of the test. There are already some helper functions that break out some of the duplicate code but I believe there is more opportunity, especially around mining blocks. I think the following could be done to clean up `renter_test.go` in the `siatest/renter` package.
— [ ] Go through tests and refactor code where possible. One common task that many tests do is mine blocks for a certain period of time.
— [ ] Improve [`renewContractsByRenewWindow`](https://github.com/NebulousLabs/Sia/blob/48216845dcb7a9e5694aee6220e003f7aa60151e/siatest/renter/renter_test.go#L2263) . The following can be done to improve this function and test package
1) remove excess `tg.Sync()` calls in the tests that call this since it is called in this function
2) make this more generic by referencing the contracts, potentially redo to be able to handle all mining needs for test
— [ ] Improve [`renewContractsBySpending`](https://github.com/NebulousLabs/Sia/blob/48216845dcb7a9e5694aee6220e003f7aa60151e/siatest/renter/renter_test.go#L2284) to confirm that all contracts will be renewed due to spending, not just first contract to meet condition. Also, confirm that `threadedContractMaintenance` is triggered before function ends so contracts are renewed by the time the function returns