Added integration test

This commit is contained in:
Johan Klinge 2019-01-09 16:43:08 +01:00
parent 33c834905c
commit bf6aad6ef8

View File

@ -0,0 +1,43 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using NUnit.Framework;
namespace IF.Lastfm.Core.Tests.Integration.Commands
{
public class UserGetWeeklyTrackChartTests : CommandIntegrationTestsBase
{
[Test]
public async Task GetTrackChart_Success()
{
//call GetWeeklyChartList to get available weeks
var weekList = await Lastfm.User.GetWeeklyChartListAsync(INTEGRATION_TEST_USER);
var fromLastWeek = weekList.Content.Last().From;
var toLastWeek = weekList.Content.Last().To;
var fromPrevWeek = weekList.Content[weekList.Content.Count - 2].From;
var toPrevWeek = weekList.Content[weekList.Content.Count - 2].To;
//use the from and to params to call GetWeeklyArtistChart for the last week
var response = await Lastfm.User.GetWeeklyTrackChartAsync(INTEGRATION_TEST_USER, fromLastWeek, toLastWeek);
var trackChart = response.Content;
//get weekly chart for the week before
var responsePrev = await Lastfm.User.GetWeeklyTrackChartAsync(INTEGRATION_TEST_USER, fromPrevWeek, toPrevWeek);
var trackChartPrev = responsePrev.Content;
Assert.IsTrue(response.Success);
//Values will vary from week to week so just checking that we got some values back
Assert.IsNotEmpty(trackChart);
Assert.IsNotEmpty(trackChart.First().Name);
Assert.IsNotEmpty(trackChart.First().ArtistName);
Assert.IsNotNull(response.From);
Assert.IsNotNull(response.To);
//check that the two different weekly charts are not the same
Assert.IsFalse(trackChart.First().Name == trackChartPrev.First().Name);
}
}
}