Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }