Skip to content

Commit

Permalink
Improve inline comment message
Browse files Browse the repository at this point in the history
  • Loading branch information
sunshinejr committed Mar 6, 2018
1 parent b6f9054 commit 2b32cdb
Show file tree
Hide file tree
Showing 3 changed files with 84 additions and 2 deletions.
14 changes: 14 additions & 0 deletions source/runner/_tests/fixtures/ExampleDangerResults.ts
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,20 @@ export const failsResults: DangerResults = {
markdowns: [],
}

export const messagesResults: DangerResults = {
fails: [],
warnings: [],
messages: [{ message: "Message" }],
markdowns: [],
}

export const markdownResults: DangerResults = {
fails: [],
warnings: [],
messages: [],
markdowns: [{ message: "### Short Markdown Message1" }, { message: "### Short Markdown Message2" }],
}

export const summaryResults: DangerResults = {
fails: [{ message: "Failing message Failing message" }],
warnings: [{ message: "Warning message Warning message" }],
Expand Down
54 changes: 53 additions & 1 deletion source/runner/templates/_tests/_githubIssueTemplates.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,13 @@ import {
warnResults,
failsResults,
summaryResults,
messagesResults,
markdownResults,
} from "../../_tests/fixtures/ExampleDangerResults"
import { template as githubResultsTemplate } from "../../templates/githubIssueTemplate"
import {
template as githubResultsTemplate,
inlineTemplate as githubResultsInlineTemplate,
} from "../../templates/githubIssueTemplate"

describe("generating messages", () => {
it("shows no tables for empty results", () => {
Expand Down Expand Up @@ -64,3 +69,50 @@ describe("generating messages", () => {
expect(issues).toMatchSnapshot()
})
})

describe("generating inline messages", () => {
it("Shows the failing message", () => {
const issues = githubResultsInlineTemplate("blankID", failsResults)
expect(issues).toContain("- :no_entry_sign: Failing message")
expect(issues).not.toContain("- :warning:")
expect(issues).not.toContain("- :book:")
})

it("Shows the warning message", () => {
const issues = githubResultsInlineTemplate("blankID", warnResults)
expect(issues).toContain("- :warning: Warning message")
expect(issues).not.toContain("- :no_entry_sign:")
expect(issues).not.toContain("- :book:")
})

it("Shows the message", () => {
const issues = githubResultsInlineTemplate("blankID", messagesResults)
expect(issues).toContain("- :book: Message")
expect(issues).not.toContain("- :no_entry_sign:")
expect(issues).not.toContain("- :warning:")
})

it("Should include summary on top of message", () => {
const issues = githubResultsInlineTemplate("blankID", summaryResults)
const expected = `
<!--
1 failure: Failing message F...
1 warning: Warning message W...
1 messages
1 markdown notices
DangerID: danger-id-blankID;
-->`

expect(issues).toContain(expected)
})

it("Shows markdowns one after another", () => {
const issues = githubResultsInlineTemplate("blankID", markdownResults)
const expected = `
### Short Markdown Message1
### Short Markdown Message2
`
expect(issues).toContain(expected)
})
})
18 changes: 17 additions & 1 deletion source/runner/templates/githubIssueTemplate.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import * as v from "voca"

import { DangerResults } from "../../dsl/DangerResults"
import { DangerResults, DangerInlineResults } from "../../dsl/DangerResults"
import { Violation } from "../../dsl/Violation"

/**
Expand Down Expand Up @@ -85,3 +85,19 @@ ${results.markdowns.map(v => v.message).join("\n\n")}
</p>
`
}

export function inlineTemplate(dangerID: string, results: DangerResults): string {
const printViolation = (emoji: string) => (violation: Violation) => {
return `- :${emoji}: ${violation.message}`
}

return `
<!--
${buildSummaryMessage(dangerID, results)}
-->
${results.fails.map(printViolation("no_entry_sign"))}
${results.warnings.map(printViolation("warning"))}
${results.messages.map(printViolation("book"))}
${results.markdowns.map(v => v.message).join("\n\n")}
`
}

0 comments on commit 2b32cdb

Please sign in to comment.