Updated scanner/upsert logic.

This commit is contained in:
2025-09-17 09:40:24 -04:00
parent 3b2a0e3491
commit db0c3349a2
14 changed files with 434 additions and 66 deletions

View File

@@ -65,6 +65,8 @@
</dt>
<dd class="maker_name">
<a href="https://www.dlsite.com/maniax/circle/profile/=/maker_id/RG00001.html">The Maker</a>
<span class="separator">/</span>
<span class="author"><a href="https://www.dlsite.com/maniax/fsr/=/keyword_creater/some_creator" class="">Some Creator</a></span>
</dd>
<dd class="work_price_wrap">
<span class="work_price">
@@ -136,9 +138,9 @@
<td class="work_1col_thumb">
<div class="work_thumb">
<a href="https://www.dlsite.com/maniax/work/=/product_id/RJ01464588.html" id="_link_RJ00000002" class="work_thumb_inner">
<img alt="Title of Product" src="//img.dlsite.jp/resize/images2/work/doujin/RJ00000000/RJ00000002_img_main_240x240.jpg" class="lazy">
<img alt="Title of Product" src="//img.dlsite.jp/resize/images2/ana/doujin/RJ00000000/RJ00000002_img_main_240x240.jpg" class="lazy">
<div class="work_img_popover">
<img src="//img.dlsite.jp/modpub/images2/work/doujin/RJ00000000/RJ00000002_img_main.jpg" alt="Title of Product">
<img src="//img.dlsite.jp/modpub/images2/ana/doujin/RJ00000000/RJ00000002_img_main.jpg" alt="Title of Product">
</div>
</a>
<div class="work_category type_SOU"><a href="https://www.dlsite.com/maniax/fsr/=/work_type/SOU">Voice / ASMR</a></div>

View File

@@ -44,10 +44,17 @@ public class VoiceWorkScannerTests
result[0].ProductId.ShouldBe("RJ00000001");
result[0].ProductName.ShouldBe("Title of Product");
result[0].Description.ShouldBe("Description of the product.");
result[0].Maker.ShouldBe("The Maker");
result[0].MakerId.ShouldBe("RG00001");
result[0].Creators.ShouldBe(["Some Creator"]);
result[0].Genres.ShouldBe(["Voice", "Trial version"]);
result[0].Tags.ShouldBe(["Male Protagonist", "Gal", "Uniform", "Harem", "Big Breasts", "Tanned Skin / Suntan"]);
result[0].Type.ShouldBe(DLSiteWorkType.Released);
result[0].Downloads.ShouldBe(1000);
result[1].ExpectedDate.ShouldBe(new DateOnly(2025, 10, 11));
result[1].SalesDate.ShouldBeNull();
result[1].ProductId.ShouldBe("RJ00000002");
result[1].Type.ShouldBe(DLSiteWorkType.Announced);
}
}