mirror of
https://github.com/Sarsoo/IF.Lastfm.git
synced 2024-10-16 23:13:07 +01:00
Fix ArtistGetTopTagsCommandTests
- also add validation to Artist.GetTopTagsCommand.
This commit is contained in:
parent
8ea1a0cb08
commit
68e36f0139
@ -18,7 +18,7 @@ public class ArtistGetTopTagsCommandTests : CommandTestsBase
|
|||||||
[SetUp]
|
[SetUp]
|
||||||
public void Initialise()
|
public void Initialise()
|
||||||
{
|
{
|
||||||
_command = new GetTopTagsCommand(MAuth.Object, "");
|
_command = new GetTopTagsCommand(MAuth.Object);
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
|
@ -20,12 +20,24 @@ internal class GetTopTagsCommand : GetAsyncCommandBase<PageResponse<LastTag>>
|
|||||||
|
|
||||||
public GetTopTagsCommand(ILastAuth auth) : base(auth)
|
public GetTopTagsCommand(ILastAuth auth) : base(auth)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void SetParameters()
|
public override void SetParameters()
|
||||||
{
|
{
|
||||||
if (ArtistMbid != null)
|
var hasMbid = !string.IsNullOrEmpty(ArtistMbid);
|
||||||
|
var hasName = !string.IsNullOrEmpty(ArtistName);
|
||||||
|
|
||||||
|
if (!hasMbid && !hasName)
|
||||||
|
{
|
||||||
|
throw new InvalidOperationException($"Either {nameof(ArtistMbid)} or {nameof(ArtistName)} must be set");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (hasMbid && hasName)
|
||||||
|
{
|
||||||
|
throw new InvalidOperationException($"");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (hasMbid)
|
||||||
{
|
{
|
||||||
Parameters.Add("mbid", ArtistMbid);
|
Parameters.Add("mbid", ArtistMbid);
|
||||||
}
|
}
|
||||||
@ -33,10 +45,11 @@ public override void SetParameters()
|
|||||||
{
|
{
|
||||||
Parameters.Add("artist", ArtistName);
|
Parameters.Add("artist", ArtistName);
|
||||||
}
|
}
|
||||||
|
|
||||||
Parameters.Add("autocorrect", Convert.ToInt32(Autocorrect).ToString());
|
Parameters.Add("autocorrect", Convert.ToInt32(Autocorrect).ToString());
|
||||||
}
|
}
|
||||||
|
|
||||||
public async override Task<PageResponse<LastTag>> HandleResponse(HttpResponseMessage response)
|
public override async Task<PageResponse<LastTag>> HandleResponse(HttpResponseMessage response)
|
||||||
{
|
{
|
||||||
var json = await response.Content.ReadAsStringAsync();
|
var json = await response.Content.ReadAsStringAsync();
|
||||||
|
|
||||||
@ -47,7 +60,7 @@ public async override Task<PageResponse<LastTag>> HandleResponse(HttpResponseMes
|
|||||||
var resultsToken = jtoken.SelectToken("toptags");
|
var resultsToken = jtoken.SelectToken("toptags");
|
||||||
var itemsToken = resultsToken.SelectToken("tag");
|
var itemsToken = resultsToken.SelectToken("tag");
|
||||||
|
|
||||||
return PageResponse<LastTag>.CreateSuccessResponse(itemsToken, token => LastTag.ParseJToken(token));
|
return PageResponse<LastTag>.CreateSuccessResponse(itemsToken, LastTag.ParseJToken);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user