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:
@@ -1,29 +1,19 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net10.0</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
<IsPackable>false</IsPackable>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.11.1" />
|
||||
<PackageReference Include="xunit" Version="2.9.2" />
|
||||
<PackageReference Include="xunit.runner.visualstudio" Version="2.8.2">
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
</PackageReference>
|
||||
<PackageReference Include="coverlet.collector" Version="6.0.2">
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
</PackageReference>
|
||||
<PackageReference Include="Moq" Version="4.20.72" />
|
||||
<PackageReference Include="xunit" Version="2.9.0" />
|
||||
<PackageReference Include="xunit.runner.visualstudio" Version="2.8.2" />
|
||||
<PackageReference Include="FluentAssertions" Version="6.12.0" />
|
||||
<PackageReference Include="Moq" Version="4.20.70" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\src\NexusReader.Application\NexusReader.Application.csproj" />
|
||||
<ProjectReference Include="..\..\src\NexusReader.Infrastructure\NexusReader.Infrastructure.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user