✨ feat(*): 重构PCB放行流程并接入双扫码校验

- 将流程改为 OMRON FINS + TCP 双扫码 + SFTP 文件校验
- 新增文件校验与扫码结果汇总实现,补充对应单测
- 同步更新流程设计文档、配置和系统设置页面文案
This commit is contained in:
2026-05-17 14:08:05 +08:00
parent 9a2211ccaa
commit ce356bffff
37 changed files with 4443 additions and 2436 deletions

View File

@@ -0,0 +1,48 @@
using AxiOmron.PcbCheck.Options;
using AxiOmron.PcbCheck.Services.Implementations;
using Xunit;
namespace AxiOmron.PcbCheck.Tests;
/// <summary>
/// 验证应用配置文件读写行为。
/// </summary>
public sealed class AppConfigServiceTests
{
/// <summary>
/// 配置文件使用字符串保存文件校验通道时,应能还原为枚举值。
/// </summary>
[Fact]
public void Load_ShouldDeserializeFileCheckProvider_WhenProviderIsString()
{
var service = new AppConfigService();
string configPath = service.GetConfigPath();
string? originalJson = File.Exists(configPath) ? File.ReadAllText(configPath) : null;
try
{
File.WriteAllText(configPath, """
{
"FileCheck": {
"Provider": "Sftp"
}
}
""");
AppConfig config = service.Load();
Assert.Equal(FileCheckProvider.Sftp, config.FileCheck.Provider);
}
finally
{
if (originalJson is null)
{
File.Delete(configPath);
}
else
{
File.WriteAllText(configPath, originalJson);
}
}
}
}