Example #1
0
        public void UpdateManga()
        {
            Assert.True(_kitsu.AddManga(1984).Result);           // Soul Eater
            Assert.True(_kitsu.AddManga(37).Result);             // Bleach
            Assert.True(_kitsu.AddManga(6182).Result);           // Kaichou wa Maid-sama!
            Assert.True(_kitsu.AddManga(24266).Result);          // Be Free!
            var manga = _kitsu.PullMangaList().Result;

            Assert.AreNotEqual(manga.Count, 0);

            var souleater = manga.First(x => x.Id == 1984);

            souleater.ListStatus = ApiEntry.ListStatuses.Completed;
            souleater.UserStart  = souleater.StartDate;
            souleater.UserEnd    = DateTime.Today;
            souleater.UserScore  = 10;
            Assert.True(_kitsu.UpdateManga(souleater).Result);

            var bleach = manga.First(x => x.Id == 37);

            bleach.ListStatus = ApiEntry.ListStatuses.Planned;
            Assert.True(_kitsu.UpdateManga(bleach).Result);

            var maid = manga.First(x => x.Id == 6182);

            maid.ListStatus     = ApiEntry.ListStatuses.Current;
            maid.CurrentChapter = 5;
            maid.UserStart      = DateTime.Today;
            maid.UserScore      = 9;
            Assert.True(_kitsu.UpdateManga(maid).Result);

            var befree = manga.First(x => x.Id == 24266);

            befree.ListStatus = ApiEntry.ListStatuses.NotInList;
            Assert.True(_kitsu.UpdateManga(befree).Result);

            manga = _kitsu.PullMangaList().Result;

            souleater = manga.First(x => x.Id == 1984);
            Assert.AreEqual(souleater.ListStatus, ApiEntry.ListStatuses.Completed);
            Assert.AreEqual(souleater.UserStart, souleater.StartDate);
            Assert.AreEqual(souleater.UserEnd, DateTime.Today);
            Assert.AreEqual(souleater.UserScore, 10);
            Assert.AreEqual(souleater.CurrentChapter, souleater.Chapters);

            bleach = manga.First(x => x.Id == 37);
            Assert.AreEqual(bleach.ListStatus, ApiEntry.ListStatuses.Planned);
            Assert.AreEqual(bleach.UserStart, DateTime.MinValue);

            maid = manga.First(x => x.Id == 6182);
            Assert.AreEqual(maid.ListStatus, ApiEntry.ListStatuses.Current);
            Assert.AreEqual(maid.CurrentChapter, 5);
            Assert.AreEqual(maid.UserStart, DateTime.Today);
            Assert.AreEqual(maid.UserScore, 9);

            Assert.False(manga.Any(x => x.Id == 24266));
        }