Skip to content

Unit tests for normalizeGithub #96

Description

@geetxnshgoyal

What

normalizeGithub in lib/members.ts turns whatever a member typed into a bare GitHub username, or undefined.

There are no tests for it yet.

Cover at least

  • bare usernames pass through
  • https://github.com/user, github.com/user/, www.github.com/user?tab=repos → user
  • whitespace is trimmed
  • invalid usernames (leading hyphen, double hyphen, over 39 chars, underscores) → undefined
  • null, undefined and "" → undefined

How

  • Create lib/members.test.ts next to the code. Follow the style of lib/github-auth.test.ts.
  • Run npm test. Then break the code on purpose (flip a condition) and watch at least one of your tests fail. Paste that failure output in the PR description, then undo the break.
  • Test behaviour through the exported function only. Don't change the source file unless you find a bug, and if you do, stop and comment on this issue first.

Size: ~30–60 lines of tests, 0 lines of source.


Taking this? Comment /assign and the bot assigns you if it's free. One issue per person at a time; comment /unassign to hand it back. That's milestone 2 of the 10 PR Journey. Setup, the checks CI runs, and how to open the PR from your fork are in CONTRIBUTING.md. Put Fixes #<this issue> in your PR description.

No activity

Activity on this issue will appear here.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions