chore: add unit tests