73 lines
2.0 KiB
C#
73 lines
2.0 KiB
C#
using Microsoft.Extensions.Logging.Abstractions;
|
|
using Piwigo.Client.Contract;
|
|
|
|
namespace Piwigo.Client.Tests;
|
|
|
|
[TestFixture]
|
|
public class AlbumApiTests : ApiTestsBase
|
|
{
|
|
private AlbumApi _albumApi = null!;
|
|
|
|
protected override void OnSetUp()
|
|
{
|
|
base.OnSetUp();
|
|
_albumApi = new AlbumApi(Context, new NullLogger<AlbumApi>());
|
|
}
|
|
|
|
[Test]
|
|
public async Task Add_should_create_album_and_return_id()
|
|
{
|
|
await LoginAsync();
|
|
|
|
var serverResponse = new PiwigoResponse<AlbumAdded>
|
|
{
|
|
Result = new AlbumAdded
|
|
{
|
|
Id = 1, Info = "Album added"
|
|
}
|
|
};
|
|
|
|
SetJsonResult(serverResponse);
|
|
var response = await _albumApi.AddAsync("UnittestMain2", null, "comment", true, CategoryStatus.Public, true, CategoryPosition.Last);
|
|
|
|
response.Should().BeGreaterOrEqualTo(1);
|
|
}
|
|
|
|
[Test]
|
|
public async Task GetAll_should_return_all_existing_albums()
|
|
{
|
|
await LoginAsync();
|
|
|
|
var serverResponse = new PiwigoResponse<AlbumList>
|
|
{
|
|
Result = new AlbumList
|
|
{
|
|
Albums = new List<Album>
|
|
{
|
|
new() { Id = 1, Name = "UnitTestMain" },
|
|
new() { Id = 3, Name = "UnitTestSub2", IdUpperCat = 1 },
|
|
new() { Id = 2, Name = "UnitTestSub1", IdUpperCat = 1 }
|
|
}
|
|
}
|
|
};
|
|
SetJsonResult(serverResponse);
|
|
var response = await _albumApi.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);
|
|
});
|
|
}
|
|
} |