public async Task Test_TraktCheckinsModule_CheckIntoMovie_With_FoursquareVenueId_And_FoursquareVenueName() { ITraktMovieCheckinPost movieCheckinPost = new TraktMovieCheckinPost { Movie = Movie, FoursquareVenueId = FOURSQUARE_VENUE_ID, FoursquareVenueName = FOURSQUARE_VENUE_NAME }; string postJson = await TestUtility.SerializeObject(movieCheckinPost); postJson.Should().NotBeNullOrEmpty(); TraktClient client = TestUtility.GetOAuthMockClient(CHECKIN_URI, postJson, MOVIE_CHECKIN_POST_RESPONSE_JSON); TraktResponse <ITraktMovieCheckinPostResponse> response = await client.Checkins.CheckIntoMovieAsync(Movie, null, null, null, null, FOURSQUARE_VENUE_ID, FOURSQUARE_VENUE_NAME); response.Should().NotBeNull(); response.IsSuccess.Should().BeTrue(); response.HasValue.Should().BeTrue(); response.Value.Should().NotBeNull(); ITraktMovieCheckinPostResponse responseValue = response.Value; responseValue.Id.Should().Be(3373536619); responseValue.WatchedAt.Should().Be(DateTime.Parse("2014-08-06T01:11:37.953Z").ToUniversalTime()); responseValue.Sharing.Should().NotBeNull(); responseValue.Sharing.Twitter.Should().BeTrue(); responseValue.Sharing.Tumblr.Should().BeFalse(); responseValue.Movie.Should().NotBeNull(); responseValue.Movie.Title.Should().Be("Guardians of the Galaxy"); responseValue.Movie.Year.Should().Be(2014); responseValue.Movie.Ids.Should().NotBeNull(); responseValue.Movie.Ids.Trakt.Should().Be(28U); responseValue.Movie.Ids.Slug.Should().Be("guardians-of-the-galaxy-2014"); responseValue.Movie.Ids.Imdb.Should().Be("tt2015381"); responseValue.Movie.Ids.Tmdb.Should().Be(118340U); }
public override async Task <ITraktMovieCheckinPost> ReadObjectAsync(JsonTextReader jsonReader, CancellationToken cancellationToken = default) { if (jsonReader == null) { return(await Task.FromResult(default(ITraktMovieCheckinPost))); } if (await jsonReader.ReadAsync(cancellationToken) && jsonReader.TokenType == JsonToken.StartObject) { var sharingReader = new SharingObjectJsonReader(); var movieReader = new MovieObjectJsonReader(); ITraktMovieCheckinPost movieCheckinPost = new TraktMovieCheckinPost(); while (await jsonReader.ReadAsync(cancellationToken) && jsonReader.TokenType == JsonToken.PropertyName) { var propertyName = jsonReader.Value.ToString(); switch (propertyName) { case JsonProperties.CHECKIN_POST_PROPERTY_NAME_SHARING: movieCheckinPost.Sharing = await sharingReader.ReadObjectAsync(jsonReader, cancellationToken); break; case JsonProperties.CHECKIN_POST_PROPERTY_NAME_MESSAGE: movieCheckinPost.Message = await jsonReader.ReadAsStringAsync(cancellationToken); break; case JsonProperties.CHECKIN_POST_PROPERTY_NAME_APP_VERSION: movieCheckinPost.AppVersion = await jsonReader.ReadAsStringAsync(cancellationToken); break; case JsonProperties.CHECKIN_POST_PROPERTY_NAME_APP_DATE: movieCheckinPost.AppDate = await jsonReader.ReadAsStringAsync(cancellationToken); break; case JsonProperties.CHECKIN_POST_PROPERTY_NAME_VENUE_ID: movieCheckinPost.FoursquareVenueId = await jsonReader.ReadAsStringAsync(cancellationToken); break; case JsonProperties.CHECKIN_POST_PROPERTY_NAME_VENUE_NAME: movieCheckinPost.FoursquareVenueName = await jsonReader.ReadAsStringAsync(cancellationToken); break; case JsonProperties.MOVIE_CHECKIN_POST_PROPERTY_NAME_MOVIE: movieCheckinPost.Movie = await movieReader.ReadObjectAsync(jsonReader, cancellationToken); break; default: await JsonReaderHelper.ReadAndIgnoreInvalidContentAsync(jsonReader, cancellationToken); break; } } return(movieCheckinPost); } return(await Task.FromResult(default(ITraktMovieCheckinPost))); }
public void TestTraktMovieCheckinPostWriteJson() { var sharing = new TraktSharing { Facebook = true, Twitter = false, Tumblr = false }; var message = "checkin in now"; var appVersion = "App Version 1.0.0"; var appDate = DateTime.UtcNow.ToString("yyyy-MM-dd"); var venueId = "venue id"; var venueName = "venue name"; var movieTitle = "Guardians of the Galaxy"; var movieYear = 2014; var movieTraktId = 28U; var movieSlug = "guardiangs-of-the-galaxy-2014"; var movieImdb = "tt2015381"; var movieTmdb = 118340U; var movie = new TraktMovie { Title = movieTitle, Year = movieYear, Ids = new TraktMovieIds { Trakt = movieTraktId, Slug = movieSlug, Imdb = movieImdb, Tmdb = movieTmdb } }; var movieCheckin = new TraktMovieCheckinPost { Sharing = sharing, Message = message, AppVersion = appVersion, AppDate = appDate, FoursquareVenueId = venueId, FoursquareVenueName = venueName, Movie = movie }; var strJson = JsonConvert.SerializeObject(movieCheckin); strJson.Should().NotBeNullOrEmpty(); var movieCheckinFromJson = JsonConvert.DeserializeObject <TraktMovieCheckinPost>(strJson); movieCheckinFromJson.Should().NotBeNull(); movieCheckinFromJson.Sharing.Should().NotBeNull(); movieCheckinFromJson.Sharing.Facebook.Should().BeTrue(); movieCheckinFromJson.Sharing.Twitter.Should().BeFalse(); movieCheckinFromJson.Sharing.Tumblr.Should().BeFalse(); movieCheckinFromJson.Message.Should().Be(message); movieCheckinFromJson.AppVersion.Should().Be(appVersion); movieCheckinFromJson.AppDate.Should().NotBeNull().And.NotBeEmpty().And.Be(appDate); movieCheckinFromJson.FoursquareVenueId.Should().Be(venueId); movieCheckinFromJson.FoursquareVenueName.Should().Be(venueName); movieCheckinFromJson.Movie.Should().NotBeNull(); movieCheckinFromJson.Movie.Title.Should().Be(movieTitle); movieCheckinFromJson.Movie.Year.Should().Be(movieYear); movieCheckinFromJson.Movie.Ids.Should().NotBeNull(); movieCheckinFromJson.Movie.Ids.Trakt.Should().Be(movieTraktId); movieCheckinFromJson.Movie.Ids.Slug.Should().Be(movieSlug); movieCheckinFromJson.Movie.Ids.Imdb.Should().Be(movieImdb); movieCheckinFromJson.Movie.Ids.Tmdb.Should().Be(movieTmdb); }