using JSMR.Application.Scanning.Contracts;
using JSMR.Domain.Enums;
using JSMR.Domain.ValueObjects;
using JSMR.Tests.Ingestion.Search;

namespace JSMR.Tests.Ingestion;

internal class IngestTestFactory
{
    public static VoiceWorkIngest Create(SearchRelatedParameters searchRelatedParameters)
    {
        return new()
        {
            MakerId = searchRelatedParameters.MakerId,
            MakerName = searchRelatedParameters.MakerName,
            ProductId = searchRelatedParameters.ProductId,
            Title = searchRelatedParameters.Title,
            Description = searchRelatedParameters.Description,
            Tags = searchRelatedParameters.Tags,
            Creators = searchRelatedParameters.Creators,
            WishlistCount = 100,
            Downloads = 0,
            HasTrial = false,
            HasChobit = false,
            AgeRating = AgeRating.AllAges,
            HasImage = false,
            SupportedLanguages = [SupportedLanguage.Japanese],
            SalesDate = null,
            ExpectedDate = new DateOnly(2025, 1, 1)
        };
    }
}