32 lines
856 B
TypeScript
32 lines
856 B
TypeScript
import { describe, it, expect } from "vitest"
|
|
import * as fs from "fs"
|
|
import { parseIssue } from "../../lib/issue"
|
|
|
|
describe("parseIssue", () => {
|
|
it("parses all required fields", () => {
|
|
const raw = fs.readFileSync("tests/_mocks/todo-basic.txt", "utf-8")
|
|
const issueText = raw.split("Content-Type: application/issue")[1]
|
|
const issue = parseIssue(issueText)
|
|
|
|
expect(issue.id).toBe(1)
|
|
expect(issue.type).toBe("feature")
|
|
expect(issue.status).toBe("open")
|
|
expect(issue.priority).toBe("high")
|
|
expect(issue.description).toContain("Implement streaming JSON parser.")
|
|
})
|
|
|
|
it("parses empty relationships", () => {
|
|
const raw = `
|
|
ID: 2
|
|
Type: bugfix
|
|
Title: T
|
|
Status: open
|
|
Priority: low
|
|
Created: 2026-02-01
|
|
Relationships:
|
|
Description: X
|
|
`
|
|
const issue = parseIssue(raw)
|
|
expect(issue.relationships).toEqual({})
|
|
})
|
|
})
|