Files
pos-system/services/social-service-net/tests/SocialService.FunctionalTests/Controllers/BlocksControllerTests.cs

55 lines
1.3 KiB
C#

using System.Net;
using System.Net.Http.Json;
using FluentAssertions;
using Microsoft.AspNetCore.Mvc.Testing;
using Xunit;
namespace SocialService.FunctionalTests.Controllers;
/// <summary>
/// EN: Functional tests for Blocks API endpoints.
/// VI: Functional tests cho các endpoints API Blocks.
/// </summary>
public class BlocksControllerTests : IClassFixture<CustomWebApplicationFactory>
{
private readonly HttpClient _client;
public BlocksControllerTests(CustomWebApplicationFactory factory)
{
_client = factory.CreateClient(new WebApplicationFactoryClientOptions
{
AllowAutoRedirect = false
});
}
#region Get Blocked Users Tests
[Fact]
public async Task GetBlockedUsers_ValidUser_ReturnsOk()
{
// Arrange
var userId = Guid.NewGuid();
// Act
var response = await _client.GetAsync($"/api/v1/blocks/users/{userId}");
// Assert
response.StatusCode.Should().Be(HttpStatusCode.OK);
}
[Fact]
public async Task GetBlockedUsers_WithPagination_ReturnsOk()
{
// Arrange
var userId = Guid.NewGuid();
// Act
var response = await _client.GetAsync($"/api/v1/blocks/users/{userId}?skip=0&take=10");
// Assert
response.StatusCode.Should().Be(HttpStatusCode.OK);
}
#endregion
}