test: add app-level smoke baselines and mobile CI test jobs
Co-authored-by: Velik <hongochai10@users.noreply.github.com>
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
using FluentAssertions;
|
||||
using WebClientBase.Shared;
|
||||
using Xunit;
|
||||
|
||||
namespace WebClientBase.SmokeTests;
|
||||
|
||||
/// <summary>
|
||||
/// EN: Smoke tests for shared API response contracts.
|
||||
/// VI: Smoke tests cho contract API response dùng chung.
|
||||
/// </summary>
|
||||
public class ApiResponseTests
|
||||
{
|
||||
[Fact]
|
||||
public void Ok_ShouldReturnSuccessWithPayload()
|
||||
{
|
||||
// Act
|
||||
var response = ApiResponse<string>.Ok("healthy");
|
||||
|
||||
// Assert
|
||||
response.Success.Should().BeTrue();
|
||||
response.Data.Should().Be("healthy");
|
||||
response.Error.Should().BeNull();
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Fail_ShouldReturnErrorWithoutPayload()
|
||||
{
|
||||
// Act
|
||||
var response = ApiResponse<string>.Fail("bad-request");
|
||||
|
||||
// Assert
|
||||
response.Success.Should().BeFalse();
|
||||
response.Data.Should().BeNull();
|
||||
response.Error.Should().Be("bad-request");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<AssemblyName>WebClientBase.SmokeTests</AssemblyName>
|
||||
<RootNamespace>WebClientBase.SmokeTests</RootNamespace>
|
||||
<TargetFramework>net10.0</TargetFramework>
|
||||
<IsPackable>false</IsPackable>
|
||||
<IsTestProject>true</IsTestProject>
|
||||
<Nullable>enable</Nullable>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<!-- EN: Test framework dependencies / VI: Phụ thuộc framework test -->
|
||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.12.0" />
|
||||
<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="FluentAssertions" Version="6.12.2" />
|
||||
<PackageReference Include="coverlet.collector" Version="6.0.2">
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
</PackageReference>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\src\WebClientBase.Shared\WebClientBase.Shared.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
Reference in New Issue
Block a user