piwigodotnet/PiwigoDotnet/Piwigo.Client.Tests/CategoryApiTests.cs

55 lines
1.5 KiB
C#

using Microsoft.Extensions.Logging.Abstractions;
using Piwigo.Client.Contract;
namespace Piwigo.Client.Tests;
[TestFixture]
public class CategoryApiTests : ApiTestsBase
{
private CategoryApi _categoryApi = null!;
protected override void OnSetUp()
{
base.OnSetUp();
_categoryApi = new CategoryApi(Context, new NullLogger<CategoryApi>());
}
[Test]
public async Task GetAllCategories_should_return_all_existing_categories()
{
await LoginAsync();
var serverResponse = new PiwigoResponse<PiwigoCategoryList>
{
Result = new PiwigoCategoryList
{
Categories = new List<PiwigoCategory>
{
new() { Id = 1, Name = "UnitTestMain" },
new() { Id = 3, Name = "UnitTestSub2", IdUpperCat = 1 },
new() { Id = 2, Name = "UnitTestSub1", IdUpperCat = 1 }
}
}
};
SetJsonResult(serverResponse);
var response = await _categoryApi.GetAllAsync();
response.Should().HaveCount(3);
response.Should().SatisfyRespectively(c =>
{
c.Id.Should().Be(1);
c.Name.Should().Be("UnitTestMain");
}, c =>
{
c.Id.Should().Be(3);
c.Name.Should().Be("UnitTestSub2");
c.IdUpperCat.Should().Be(1);
}, c =>
{
c.Id.Should().Be(2);
c.Name.Should().Be("UnitTestSub1");
c.IdUpperCat.Should().Be(1);
});
}
}