using JSMR.Domain.Enums; using JSMR.Infrastructure.Data; using Microsoft.EntityFrameworkCore; namespace JSMR.Tests.Data.Repositories.VoiceWorks; public static class VoiceWorkRepositorySeedData { public static async Task SeedAsync(AppDbContext context) { if (await context.VoiceWorks.AnyAsync()) return; context.Circles.AddRange( new() { CircleId = 1, Name = "Good Dreams", MakerId = "RG00001" }, new() { CircleId = 2, Name = "Sweet Dreams", Favorite = true, MakerId = "RG00002" }, new() { CircleId = 3, Name = "Nightmare Fuel", Blacklisted = true, MakerId = "RG00003" }, new() { CircleId = 4, Name = "Never Again", Spam = true, MakerId = "RG00004" } ); context.VoiceWorks.AddRange( new() { VoiceWorkId = 1, CircleId = 1, ProductId = "RJ0000001", ProductName = "Today Sounds", Description = "An average product.", Status = (byte)VoiceWorkStatus.Available, SalesDate = new(2025, 1, 1), Downloads = 500, WishlistCount = 750, StarRating = 35 }, new() { VoiceWorkId = 2, CircleId = 2, ProductId = "RJ0000002", ProductName = "Super Comfy ASMR", Description = "An amazing product!", Status = (byte)VoiceWorkStatus.NewRelease, SalesDate = new(2025, 1, 3), Downloads = 5000, WishlistCount = 12000, StarRating = 50, Favorite = true }, new() { VoiceWorkId = 3, CircleId = 3, ProductId = "RJ0000003", ProductName = "Low Effort", Description = "A bad product.", Status = (byte)VoiceWorkStatus.Available, SalesDate = new(2025, 1, 2), Downloads = 50, WishlistCount = 100, StarRating = 20 }, new() { VoiceWorkId = 4, CircleId = 1, ProductId = "RJ0000004", ProductName = "Tomorrow Sounds", Description = "A average upcoming product.", Status = (byte)VoiceWorkStatus.Upcoming, ExpectedDate = new(2025, 1, 1), WishlistCount = 300 }, new() { VoiceWorkId = 5, CircleId = 2, ProductId = "RJ0000005", ProductName = "Super Comfy ASMR+", Description = "All your favorite sounds, plus more!", Status = (byte)VoiceWorkStatus.NewAndUpcoming, ExpectedDate = new(2025, 1, 11), WishlistCount = 10000 } ); await context.SaveChangesAsync(); } }