diff --git a/Console/Console.csproj b/Console/Console.csproj
index be5cdf9..46b35a3 100644
--- a/Console/Console.csproj
+++ b/Console/Console.csproj
@@ -25,6 +25,6 @@
-
+
\ No newline at end of file
diff --git a/Console/Database/MyDbContext.cs b/Console/Database/MyDbContext.cs
index 70d93e8..49b2284 100644
--- a/Console/Database/MyDbContext.cs
+++ b/Console/Database/MyDbContext.cs
@@ -2,7 +2,7 @@
namespace Console.Database;
-internal class MyDbContext : DbContext
+internal class MyDbContext(DbContextOptions options) : DbContext(options)
{
public DbSet Songs { get; set; }
public DbSet Playlists { get; set; }
@@ -11,7 +11,10 @@ internal class MyDbContext : DbContext
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
- optionsBuilder.UseSqlite("Data Source=data.db");
+ if (!optionsBuilder.IsConfigured)
+ {
+ optionsBuilder.UseSqlite("Data Source=data.db");
+ }
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
diff --git a/Tests/PlayerTests.cs b/Tests/PlayerTests.cs
index f520f92..c0f5f5b 100644
--- a/Tests/PlayerTests.cs
+++ b/Tests/PlayerTests.cs
@@ -1,6 +1,10 @@
+using CliFx.Infrastructure;
using Console;
using Console.Audio;
+using Console.Database;
+using Console.Repositories;
using FluentAssertions;
+using Microsoft.EntityFrameworkCore;
using YoutubeExplode;
namespace Tests;
@@ -9,10 +13,17 @@ public class PlayerTests : IAsyncDisposable
{
private readonly PlayerController _player;
+ private DbContextOptions CreateInMemoryOptions() =>
+ new DbContextOptionsBuilder()
+ .UseInMemoryDatabase(Guid.NewGuid().ToString()) // Use a unique database name
+ .Options;
+
public PlayerTests()
{
- Utils.ConfigurePlatformDependencies();
- _player = new(new YoutubeClient()) { Volume = 0 };
+ var options = CreateInMemoryOptions();
+ var context = new MyDbContext(options);
+ Utils.ConfigurePlatformDependenciesAsync(new FakeConsole()).GetAwaiter().GetResult();
+ _player = new(new YoutubeClient(), new SettingsRepository(context)) { Volume = 0 };
}
[Fact]
diff --git a/Tests/Tests.csproj b/Tests/Tests.csproj
index b82919d..8aefa80 100644
--- a/Tests/Tests.csproj
+++ b/Tests/Tests.csproj
@@ -11,6 +11,7 @@
+