Skip to content

Unit tests for slugify #95

Closed
Closed

Description

@geetxnshgoyal

What

slugify in lib/projects.ts makes URL slugs for projects.

There are no tests for it yet.

Cover at least

  • lowercases and hyphenates: "My Cool App" → my-cool-app
  • accents are stripped: "Café Résumé" → cafe-resume
  • leading, trailing and repeated separators are collapsed
  • the result is capped at 60 characters
  • an all-symbol or empty title → "project"

How

  • Create lib/projects.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.

Activity

  1. ishan-one8 commented on Sep 22, 2026

    @ishan-one8
    Contributor

    /assign

  2. github-actions commented on Sep 22, 2026

    @github-actions

    @ishan-one8 it's yours! 🎉

    1. Fork the repo and create a branch: see CONTRIBUTING.md.
    2. Open your PR from your fork into main, with Fixes #95 in the description.
    3. Make sure CI (Lint, Test, Type-check & build) is green.

    Can't finish it? Comment /unassign so someone else can pick it up.

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