using System.Text; using FluentAssertions; using Oms.Application.Labeling.Hiprint; namespace Oms.Tests.Labeling; public class QuestPdfLabelRendererTests { [Fact] public async Task RenderAsync_SampleTemplate_ShouldProducePdfBytes() { var json = HiprintTemplateParserTests.LoadFixture("sample_100x150.json"); var printData = new Dictionary { ["serviceNo"] = "S202607180001", ["recipientName"] = "John Lee", ["recipientAddressFull"] = "xxx Street, City, CA 90001", ["actualWeight"] = 1.25 }; var renderer = new QuestPdfLabelRenderer(new HiprintTemplateParser()); var bytes = await renderer.RenderAsync(json, printData); bytes.Should().NotBeNullOrEmpty(); // %PDF Encoding.ASCII.GetString(bytes.AsSpan(0, 4)).Should().Be("%PDF"); bytes.Length.Should().BeGreaterThan(500); } }