28 lines
849 B
C#
28 lines
849 B
C#
using Microsoft.EntityFrameworkCore;
|
|
using ROLAC.API.Data;
|
|
using ROLAC.API.Services.Ai;
|
|
using Xunit;
|
|
|
|
namespace ROLAC.API.Tests.Services;
|
|
|
|
public class ChurchAiConfigProviderTests
|
|
{
|
|
private static AppDbContext NewDb() =>
|
|
new AppDbContext(new DbContextOptionsBuilder<AppDbContext>()
|
|
.UseInMemoryDatabase(Guid.NewGuid().ToString()).Options);
|
|
|
|
[Fact]
|
|
public async Task GetAsync_returns_defaults_when_no_profile_row()
|
|
{
|
|
using var db = NewDb(); // empty DB, no ChurchProfile
|
|
|
|
var cfg = await new ChurchAiConfigProvider(db).GetAsync();
|
|
|
|
Assert.Equal("Claude", cfg.Provider);
|
|
Assert.Equal("claude-haiku-4-5-20251001", cfg.ClaudeModel);
|
|
Assert.Equal("gemini-2.5-flash-lite", cfg.GeminiModel);
|
|
Assert.Null(cfg.ClaudeApiKey);
|
|
Assert.Null(cfg.GeminiApiKey);
|
|
}
|
|
}
|