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

support using release or tag name in [GitHub] Release version badge #7075

Merged
merged 3 commits into from
Oct 14, 2021

Conversation

calebcartwright
Copy link
Member

Resolves #6763

@shields-ci
Copy link

shields-ci commented Sep 26, 2021

Messages
📖 ✨ Thanks for your contribution to Shields, @calebcartwright!

Generated by 🚫 dangerJS against b2c1aff

@chris48s chris48s changed the title support using release or tag name in [GitHubRelease] version badge support using release or tag name in [GitHub] Release version badge Oct 9, 2021
services/github/github-common-release.js Show resolved Hide resolved
services/github/github-release.service.js Show resolved Hide resolved
@@ -20,6 +20,10 @@ t.create('Prerelease')
color: Joi.string().allow('blue', 'orange').required(),
})

t.create('Release (release name instead of tag name)')
.get('/v/release/expressjs/express.json?display_name=release')
.expectBadge({ label: 'release', message: isSemver, color: 'blue' })
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I can see we've got the transform logic already under test in the .spec file. This test is kinda odd though because we're running it on a repo that doesn't use named releases so all we're really testing is that display_name=release is a valid param. It seems like a test I'll read in a year's time and be confused by anyway :) We could switch this to testing against a repo that uses named releases, although it is possibly then brittle in future. Another option would be to mock it e.g:

t.create('Release (custom release name)')
  .get('/v/release/expressjs/express.json')
  .intercept(nock =>
    nock('https://api.github.com')
      .get('/repos/expressjs/express/releases/latest')
      .reply(200, {
        assets: [],
        name: 'custom release name',
        tag_name: '1.0.0',
        prerelease: false,
      })
  )
  .expectBadge({
    label: 'release',
    message: 'custom release name',
    color: 'blue',
  })

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

so all we're really testing is that display_name=release is a valid param

Yup, precisely. I'm not opposed to adding another test, but feel like it's a fairly common pattern to tack on a test that simply covers the query param when we've got other unit tests covering the associated logic.

Would you still like to see a new test or perhaps even a comment to the effect of "this is just testing the query param..." etc.?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah maybe just a comment explaining this would be useful.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

added in 9078a35

@repo-ranger repo-ranger bot merged commit bfc2f96 into master Oct 14, 2021
@repo-ranger repo-ranger bot deleted the github-release-name branch October 14, 2021 22:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
service-badge Accepted and actionable changes, features, and bugs
Projects
None yet
Development

Successfully merging this pull request may close these issues.

GitHub release showing tag instead of release name
4 participants