Phase 11: version PDF (FR-15)
- เลข version ใหม่: เว็บ-generate = v0 ฉบับตั้งต้น (ไม่มี PDF), add-in save (Start Versioning + Save & Version) = v1+ มี PDF เสมอ - PDF ผลิตจาก Word จริงผ่าน task pane เท่านั้น (getFileAsync Pdf + runtime guard, manifest ไม่เพิ่ม requirement); capture/upload เป็น best-effort — docx ผ่านแม้ PDF ล้ม + MessageBar เตือนตาม hasPdf - Backend: DocumentVersion.PdfObjectKey (nullable, migration AddVersionPdf) + sibling .pdf ใน bucket docx-versions · multipart part pdf (ผิด type → 400) · /download + /download-link รับ ?format=pdf (ไม่มี → 404) · presigned ฝังชื่อไฟล์ไทย + _vN (RFC 5987) - Web: เปิดไฟล์แทน blob-download — PDF แท็บใหม่, docx ผ่าน ms-word:ofe|u| พร้อม heuristic fallback ลิงก์สำรอง (useVersionOpen, versionDownload) · ปุ่ม "เปิดใน Word" ที่หน้า success ของฟอร์มสร้างเอกสาร - Spec v7 + CONTEXT.md + ADR 0001 + แผน docs/plans/version-pdf.md - Automated QA: backend 68 / add-in 63 / web 55 ผ่าน · manual acceptance ผ่านบน Word for Mac (2026-09-08) รวม fidelity + track changes — ค้างเฉพาะ Windows / Word on the web Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
parent
618328ffa7
commit
39d610a781
39 changed files with 1387 additions and 212 deletions
|
|
@ -146,7 +146,7 @@ public sealed class VersionMessageTests(IntegrationTestFixture fixture)
|
|||
}
|
||||
|
||||
[Fact]
|
||||
public async Task Generate_WithMessage_CreatesV1WithMessage()
|
||||
public async Task Generate_WithMessage_CreatesV0WithMessage()
|
||||
{
|
||||
using var client = fixture.CreateClient();
|
||||
var (templateId, _) = await TestFlow.CreateConfiguredTemplateAsync(client, "msg-gen");
|
||||
|
|
@ -157,7 +157,7 @@ public sealed class VersionMessageTests(IntegrationTestFixture fixture)
|
|||
await using var db = fixture.CreateDb();
|
||||
var version = await db.DocumentVersions.AsNoTracking()
|
||||
.SingleAsync(v => v.DocumentId == generated.DocumentId);
|
||||
Assert.Equal(1, version.VersionNumber);
|
||||
Assert.Equal(0, version.VersionNumber);
|
||||
Assert.Equal("ฉบับเสนอลงนามครั้งแรก", version.Message);
|
||||
|
||||
using var history = await client.GetAsync($"api/documents/{generated.DocumentId}/versions");
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue