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

Technical debt #5

Open
3 of 17 tasks
maciej-sz opened this issue May 3, 2023 · 0 comments
Open
3 of 17 tasks

Technical debt #5

maciej-sz opened this issue May 3, 2023 · 0 comments

Comments

@maciej-sz
Copy link
Owner

maciej-sz commented May 3, 2023

This issue tracks the technical debt todos.

Features

  • add __set_state methods on all domain objects

Enhancements

  • Improve TransportFactory - use better system for detecting 3rd party libraries along with versions (not only class_exists)
  • decide whether or not to rely on sorting provided by API, or add additional sorting on the repository layer

Refactor

Tests

  • refactor all calls from $this->expectException to self::expectException and from $this->assert* to self::assert*
  • move calls to expectException just before the exception occurs
  • add e2e tests using var_export (requires the __set_state feature)
  • refactor tests to use provide specific data sets, example: function fetchApiExxhangeRates($date, $date2) { return $this->fetchArray("/api/exchangerates/tables/$date1/$date2" ...; move array shapes there
  • Change all non-mock objects to be created by createStub method instead of createMock
  • Replace willReturnOnConsecutiveCalls and willReturnMap with expectations (according to the latest PhpUnit 10 guidelines)

CI/CD

  • Add Deptrac
  • Run tests on multiple PHP versions

Documentation

  • add array shapes to all typehints in dockblocks instead of array
  • write documentation using https://www.mkdocs.org/
  • add a diagram of the package architecture
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

No branches or pull requests

1 participant