From bf6aad6ef84694f5f475f2338baf8822a14308d9 Mon Sep 17 00:00:00 2001 From: Johan Klinge Date: Wed, 9 Jan 2019 16:43:08 +0100 Subject: [PATCH] Added integration test --- .../Commands/UserGetWeeklyTrackChartTests.cs | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 src/IF.Lastfm.Core.Tests.Integration/Commands/UserGetWeeklyTrackChartTests.cs diff --git a/src/IF.Lastfm.Core.Tests.Integration/Commands/UserGetWeeklyTrackChartTests.cs b/src/IF.Lastfm.Core.Tests.Integration/Commands/UserGetWeeklyTrackChartTests.cs new file mode 100644 index 0000000..26db112 --- /dev/null +++ b/src/IF.Lastfm.Core.Tests.Integration/Commands/UserGetWeeklyTrackChartTests.cs @@ -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); + } + } +} \ No newline at end of file