redrabbit/git.limo

Write unit-tests for all umbrella applications.

redrabbit opened this issue · 1 comments

After a lot of redesigning and refactoring of :gitrekt, :gitgud and :gitgud_web. We need to have a good test coverage of the code.

Git Backend

The Git backend server including both transport and transfer protocols, PACK encoding/decoding should have automated test using the git command line tool. Additionally, we should have tests for each GitRekt.Git function (mostly NIFs).

  • Git transport protocol (SSH & HTTP).
  • Git transfer protocol (git-receive-pack, git-upload-pack).

DB Schemas & Queries, Authorisation

We currently only have three DB schemas: User, Repo and SSHAuthenticationKey. Each of these modules should have tests. We have modules implementing the DBQueryable behaviour for their respective schemas. We need tests for these too.

The Authorization module and modules implementing AuthorizationPolicies (currently only Repo) should also have good test coverage.

  • User schema and UserQuery module.
  • Repo schema and RepoQuery module.
  • Email, SSHKey and RepoMaintainer schemas.
  • Resource authorizations and viewability (Authorization, DBQuerable).

Web Backend & GraphQL API

Each controller should have tests for all actions. Same goes for view helper functions such as NavigationHelpers, PaginationHelpers and DateTimeFormatter.

The GraphQL API should also have descent test coverage. Maybe there are some generic tools out there for this kind of stuff.

  • Authentication Plug.
  • Controllers & Views for CRUD resources.

Closing this, testing is a never-ending story. I will try to keep writing tests as codebase grows.