Files
zszq-trs/UnitTestProject/Modules/ApiModule/TestOtcTradeContractDocExportService.cs
2024-05-09 14:06:26 +08:00

150 lines
5.4 KiB
C#

using ICSharpCode.SharpZipLib.Zip;
using YLErp.Modules.ApiModule.ExportModule;
namespace YLErp.Modules.ApiModule
{
[TestClass]
public class TestOtcTradeContractDocExportService
{
[TestMethod]
public void TestGetZipFileOfOpenDocs()
{
OtcAppContext.Initialize(s =>
{
var s2 = s.Trim('/').Replace("/", "\\");
return @"d:\\" + s2;
});
var service = new OtcTradeContractDocExportService(OptUserInfo.SystemUser);
var req1 = new OtcTradeContractOpenDocExportRequest
{
OpenDateRangeStart = new DateTime(2022, 9, 9),
OpenDateRangeEnd = new DateTime(2022, 9, 19),
TradeStatus = new[] { "确认成交" }
};
var zipBuffer1 = service.GetZipFileOfOpenDocs(req1, out var infos1);
using (var mstream = new MemoryStream(zipBuffer1))
using (var s = new ZipInputStream(mstream))
{
ZipEntry theEntry;
var count = 0;
while ((theEntry = s.GetNextEntry()) != null)
{
count++;
var fileName = Path.GetFileName(theEntry.Name);
if (fileName == string.Empty)
{
continue;
}
using (var streamWriter = File.Create(@"D:\temp\unittest\" + theEntry.Name))
{
var size = 2048;
var data = new byte[2048];
while (true)
{
size = s.Read(data, 0, data.Length);
if (size > 0)
{
streamWriter.Write(data, 0, size);
}
else
{
break;
}
}
}
var json = File.ReadAllText(@"D:\temp\unittest\info.txt");
var ddd = Newtonsoft.Json.Linq.JArray.Parse(json);
}
Assert.AreEqual(infos1.Length, 52);
}
var req2 = new OtcTradeContractOpenDocExportRequest
{
OpenDateRangeStart = new DateTime(2022, 9, 9),
OpenDateRangeEnd = new DateTime(2022, 9, 19),
TradeStatus = new[] { "确认成交" },
TradeNumbers = new[] { "ZQZ0084-202209150007", "CW20180051-JY-2022091312" }
};
var zipBuffer2 = service.GetZipFileOfOpenDocs(req2, out var infos2);
File.WriteAllBytes(@"D:\temp\unittest\open_req2.zip", zipBuffer2);
Assert.AreEqual(infos2.Length, 2);
}
[TestMethod]
public void TestGetZipFileOfCloseDocs()
{
OtcAppContext.Initialize(s =>
{
var s2 = s.Trim('/').Replace("/", "\\");
return @"d:\\" + s2;
});
var service = new OtcTradeContractDocExportService(OptUserInfo.SystemUser);
var req1 = new OtcTradeContractCloseDocExportRequest
{
CloseDateRangeStart = new DateTime(2022, 9, 1),
CloseDateRangeEnd = new DateTime(2022, 9, 19),
};
var zipBuffer1 = service.GetZipFileOfCloseDocs(req1, out var infos1);
using (var mstream = new MemoryStream(zipBuffer1))
using (var s = new ZipInputStream(mstream))
{
ZipEntry theEntry;
var count = 0;
while ((theEntry = s.GetNextEntry()) != null)
{
count++;
var fileName = Path.GetFileName(theEntry.Name);
if (fileName == string.Empty)
{
continue;
}
using (var streamWriter = File.Create(@"D:\temp\unittest\" + theEntry.Name))
{
var size = 2048;
var data = new byte[2048];
while (true)
{
size = s.Read(data, 0, data.Length);
if (size > 0)
{
streamWriter.Write(data, 0, size);
}
else
{
break;
}
}
}
var json = File.ReadAllText(@"D:\temp\unittest\info.txt");
var ddd = Newtonsoft.Json.Linq.JArray.Parse(json);
}
Assert.AreEqual(infos1.Length, 18);
}
var req2 = new OtcTradeContractCloseDocExportRequest
{
CloseDateRangeStart = new DateTime(2022, 9, 1),
CloseDateRangeEnd = new DateTime(2022, 9, 19),
TradeNumbers = new[] { "CW20221208-202209150004", "CW20221208-202209150005" }
};
var zipBuffer2 = service.GetZipFileOfCloseDocs(req2, out var infos2);
File.WriteAllBytes(@"D:\temp\unittest\close_req2.zip", zipBuffer2);
Assert.AreEqual(infos2.Length, 2);
}
}
}