feat: improve reminders summarizer output and system metadata handling

This commit is contained in:
cesnimda
2026-03-22 14:58:56 +01:00
parent 2ae27433e8
commit f1c7c38a19
9 changed files with 177 additions and 110 deletions
@@ -0,0 +1,41 @@
using JobTrackerApi.Controllers;
using JobTrackerApi.Models;
using JobTrackerApi.Services;
using Microsoft.AspNetCore.Mvc;
using Moq;
using Xunit;
namespace JobTrackerApi.Tests;
public sealed class GmailControllerTests
{
[Fact]
public async Task Import_thread_rejects_missing_message_ids()
{
var controller = new GmailController(Mock.Of<IGmailOAuthService>(), null!, BuildConfig())
{
ControllerContext = new Microsoft.AspNetCore.Mvc.ControllerContext
{
HttpContext = new Microsoft.AspNetCore.Http.DefaultHttpContext
{
User = new System.Security.Claims.ClaimsPrincipal(new System.Security.Claims.ClaimsIdentity(new[]
{
new System.Security.Claims.Claim(System.Security.Claims.ClaimTypes.NameIdentifier, "user-1")
}, "test"))
}
}
};
var result = await controller.ImportThread(new GmailController.ImportGmailThreadRequest(1, "thread-1", Array.Empty<string>()), CancellationToken.None);
var badRequest = Assert.IsType<BadRequestObjectResult>(result.Result);
Assert.Equal("At least one messageId is required.", badRequest.Value);
}
private static Microsoft.Extensions.Configuration.IConfiguration BuildConfig()
{
return new Microsoft.Extensions.Configuration.ConfigurationBuilder()
.AddInMemoryCollection(new Dictionary<string, string?>())
.Build();
}
}