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]
|
||||
public void Initialise()
|
||||
{
|
||||
_command = new GetTopTagsCommand(MAuth.Object, "");
|
||||
_command = new GetTopTagsCommand(MAuth.Object);
|
||||
}
|
||||
|
||||
[Test]
|
||||
|
@ -20,12 +20,24 @@ internal class GetTopTagsCommand : GetAsyncCommandBase<PageResponse<LastTag>>
|
||||
|
||||
public GetTopTagsCommand(ILastAuth auth) : base(auth)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
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);
|
||||
}
|
||||
@ -33,10 +45,11 @@ public override void SetParameters()
|
||||
{
|
||||
Parameters.Add("artist", ArtistName);
|
||||
}
|
||||
|
||||
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();
|
||||
|
||||
@ -47,7 +60,7 @@ public async override Task<PageResponse<LastTag>> HandleResponse(HttpResponseMes
|
||||
var resultsToken = jtoken.SelectToken("toptags");
|
||||
var itemsToken = resultsToken.SelectToken("tag");
|
||||
|
||||
return PageResponse<LastTag>.CreateSuccessResponse(itemsToken, token => LastTag.ParseJToken(token));
|
||||
return PageResponse<LastTag>.CreateSuccessResponse(itemsToken, LastTag.ParseJToken);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user