Example #1
0
        [Test]         // TODO: Works, but there seems to be some timezone issues going on
        public void UpdateAnime()
        {
            Assert.True(_kitsu.AddAnime(12).Result);             // One Piece
            Assert.True(_kitsu.AddAnime(1376).Result);           // Death Note
            Assert.True(_kitsu.AddAnime(12243).Result);          // Kobayashi-san Chi no Maid Dragon
            Assert.True(_kitsu.AddAnime(11).Result);             // Naruto
            var anime = _kitsu.PullAnimeList().Result;

            Assert.AreNotEqual(anime.Count, 0);

            var onepiece = anime.First(x => x.Id == 12);

            onepiece.UserScore      = 10;
            onepiece.CurrentEpisode = 718;
            onepiece.UserStart      = new DateTime(2018, 2, 8);
            Assert.True(_kitsu.UpdateAnime(onepiece).Result);

            var deathnote = anime.First(x => x.Id == 1376);

            deathnote.ListStatus = ApiEntry.ListStatuses.Completed;
            Assert.True(_kitsu.UpdateAnime(deathnote).Result);

            var dragonmaid = anime.First(x => x.Id == 12243);

            dragonmaid.ListStatus = ApiEntry.ListStatuses.Completed;
            dragonmaid.UserStart  = dragonmaid.StartDate;
            dragonmaid.UserEnd    = DateTime.Today.Date;
            dragonmaid.UserScore  = 9;
            Assert.True(_kitsu.UpdateAnime(dragonmaid).Result);

            var naruto = anime.First(x => x.Id == 11);

            naruto.ListStatus = ApiEntry.ListStatuses.NotInList;
            Assert.True(_kitsu.UpdateAnime(naruto).Result);

            anime = _kitsu.PullAnimeList().Result;

            onepiece = anime.First(x => x.Id == 12);
            Assert.AreEqual(onepiece.UserScore, 10);
            Assert.AreEqual(onepiece.CurrentEpisode, 718);
            Assert.AreEqual(onepiece.UserStart.Date, new DateTime(2018, 2, 8).Date);

            deathnote = anime.First(x => x.Id == 1376);
            Assert.AreEqual(deathnote.ListStatus, ApiEntry.ListStatuses.Completed);

            dragonmaid = anime.First(x => x.Id == 12243);
            Assert.AreEqual(dragonmaid.ListStatus, ApiEntry.ListStatuses.Completed);
            Assert.AreEqual(dragonmaid.UserStart.Date, dragonmaid.StartDate.Date);
            Assert.AreEqual(dragonmaid.UserEnd.Date, DateTime.Today.Date);
            Assert.AreEqual(dragonmaid.UserScore, 9);

            Assert.False(anime.Exists(x => x.Id == 11));
        }