kaneo (minimalist kanban) fork to experiment adding a tangled integration github.com/usekaneo/kaneo
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

at 9a620ba2f31238f03cd28f1da5ef3838d67e4e8a 44 lines 1.4 kB view raw
1import { describe, expect, it } from "vitest"; 2import { 3 extractIssuePriority, 4 extractIssueStatus, 5} from "../../../../../apps/api/src/plugins/github/utils/extract-priority"; 6 7describe("extractIssuePriority", () => { 8 it("returns the first valid priority label", () => { 9 expect( 10 extractIssuePriority([ 11 "type:bug", 12 { name: "priority:high" }, 13 "priority:low", 14 ]), 15 ).toBe("high"); 16 }); 17 18 it("returns null for missing or malformed priority labels", () => { 19 expect(extractIssuePriority(undefined)).toBeNull(); 20 expect(extractIssuePriority(["priority:critical"])).toBeNull(); 21 expect(extractIssuePriority([{ name: "type:feature" }])).toBeNull(); 22 }); 23 24 it("treats case-sensitive malformed labels as invalid", () => { 25 expect( 26 extractIssuePriority(["Priority:high", "priority:URGENT"]), 27 ).toBeNull(); 28 }); 29}); 30 31describe("extractIssueStatus", () => { 32 it("normalizes whitespace and casing", () => { 33 expect( 34 extractIssueStatus(["kind:feature", { name: "status: In-Review " }]), 35 ).toBe("in-review"); 36 }); 37 38 it("returns null for missing labels or invalid slugs", () => { 39 expect(extractIssueStatus(undefined)).toBeNull(); 40 expect(extractIssueStatus([{ name: "priority:high" }])).toBeNull(); 41 expect(extractIssueStatus(["status:Needs Review"])).toBeNull(); 42 expect(extractIssueStatus(["status:review!"])).toBeNull(); 43 }); 44});