fix(tickets): convert ticket HTML to markdown on import
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
using ClaudeDo.Worker.Tickets;
|
||||
|
||||
namespace ClaudeDo.Worker.Tests.Tickets;
|
||||
|
||||
public sealed class TicketHtmlToMarkdownTests
|
||||
{
|
||||
[Fact]
|
||||
public void Paragraphs_breaks_and_entities_become_markdown_paragraphs()
|
||||
{
|
||||
var md = TicketImportService.HtmlToMarkdown(
|
||||
"<p>Lager -> Adressprüfung aus</p>Zeile 1<br>Zeile 2<div><br></div><div>Ende</div>");
|
||||
|
||||
Assert.Equal("Lager -> Adressprüfung aus\n\nZeile 1\n\nZeile 2\n\nEnde", md);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Lists_and_inline_formatting_map_to_the_MarkdownView_subset()
|
||||
{
|
||||
var md = TicketImportService.HtmlToMarkdown(
|
||||
"<p>Offene Punkte:</p><ul><li class=\"MsoNormal\"><b>Band</b> sync</li><li>Waage</li></ul>" +
|
||||
"<ol><li>Erst</li><li><em>Dann</em></li></ol><a href=\"http://x\">Link</a>");
|
||||
|
||||
Assert.Equal(
|
||||
"Offene Punkte:\n\n- **Band** sync\n- Waage\n\n1. Erst\n2. *Dann*\n\nLink (http://x)", md);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Plain_text_passes_through()
|
||||
=> Assert.Equal("Ticket ohne HTML", TicketImportService.HtmlToMarkdown(" Ticket ohne HTML "));
|
||||
}
|
||||
Reference in New Issue
Block a user