refactor: complete web project consolidation and stabilize identity flow

- Finalized move from NexusReader.Web.New to NexusReader.Web
- Implemented robust ServerIdentityService with UserManager and SignInManager
- Updated UI components to handle authentication state synchronization via force reload
- Refined BookIngestionModal styling following Nexus Neon design system
- Resolved namespace conflicts and updated CI/CD/VS Code configurations
- Fixes #33
This commit is contained in:
2026-05-11 20:42:57 +02:00
parent f864580207
commit e1f1a4b3cb
41 changed files with 1280 additions and 743 deletions
@@ -1,3 +1,6 @@
using System.IO;
using System.Threading.Tasks;
using FluentAssertions;
using NexusReader.Infrastructure.Services;
using Xunit;
@@ -5,24 +8,18 @@ namespace NexusReader.Application.Tests.Services;
public class EpubMetadataExtractorTests
{
private readonly EpubMetadataExtractor _sut;
public EpubMetadataExtractorTests()
{
_sut = new EpubMetadataExtractor();
}
[Fact]
public async Task ExtractMetadataAsync_WithInvalidStream_ReturnsFailure()
{
// Arrange
using var invalidStream = new MemoryStream(new byte[] { 0, 1, 2, 3 });
var extractor = new EpubMetadataExtractor();
using var stream = new MemoryStream(new byte[] { 0, 1, 2, 3 });
// Act
var result = await _sut.ExtractMetadataAsync(invalidStream);
var result = await extractor.ExtractMetadataAsync(stream);
// Assert
Assert.True(result.IsFailed);
Assert.Contains("Failed to extract EPUB metadata", result.Errors[0].Message);
result.IsSuccess.Should().BeFalse();
result.Errors.Should().NotBeEmpty();
}
}