Exemple #1
0
        public Mock <IKodiService> GetKodiServiceMock(GetEpisodeDetailsParams parameters)
        {
            var mock = new Mock <IKodiService>();

            mock.Setup(s => s.GetEpisodeDetails(parameters, "UnitTests"))
            .Returns(() => MakeFauxRequest <GetEpisodeDetailsResponse>($"episode.{parameters.EpisodeId}.json"));

            return(mock);
        }
Exemple #2
0
        public void WhenGettingEpisodeDetails_WithAnInvalidEpisodeId_ItShouldThrowException()
        {
            var service = new KodiService();

            var parameters = new GetEpisodeDetailsParams
            {
                EpisodeId = (int)Episodes.TestSet.InvalidId
            };

            Assert.That(() => service.GetEpisodeDetails(parameters, "UnitTests"), Throws.Exception.TypeOf <Exception>());
        }
Exemple #3
0
        public void GivenAJsonString_WhenGettingAnEpisodeByEpisodeId_WithAnInvalidEpisodeId_ItShouldThrowRpcInternalServerErrorException()
        {
            const Episodes.TestSet id = Episodes.TestSet.InvalidId;

            var parameters = new GetEpisodeDetailsParams
            {
                EpisodeId  = (int)id,
                Properties = EpisodeProperties.All()
            };

            var mock    = GetKodiServiceMock(parameters);
            var service = mock.Object;

            Assert.That(() => service.GetEpisodeDetails(parameters, "UnitTests"), Throws.Exception.TypeOf <RpcInternalServerErrorException>());
        }
Exemple #4
0
        public void WhenGettingAnEpisode_WithAnEpisodeIdOfOne_ItShouldReturnAnEpisode()
        {
            var service = new KodiService();

            var parameters = new GetEpisodeDetailsParams
            {
                EpisodeId  = 1,
                Properties = new[] { EpisodeProperties.Title, EpisodeProperties.UniqueId }
            };

            var details = service.GetEpisodeDetails(parameters);

            Assert.IsNotNull(details);
            Assert.IsNotNull(details.Result);
            Assert.AreEqual(1, details.Result.EpisodeDetails.EpisodeId);
        }
Exemple #5
0
        public void GivenAJsonString_WhenGettingAnEpisodeByEpisodeId_WithAValidEpisodeId_ItShouldReturnAnEpisode()
        {
            const Episodes.TestSet id = Episodes.TestSet.Continuum;

            var parameters = new GetEpisodeDetailsParams
            {
                EpisodeId = (int)id
            };

            var mock     = GetKodiServiceMock(parameters);
            var service  = mock.Object;
            var actual   = service.GetEpisodeDetails(parameters, "UnitTests");
            var expected = Episodes.GetEpisode(id);

            Assert.IsInstanceOf <JsonRpcResponse <GetEpisodeDetailsResponse> >(actual);
            Assert.That(actual.Result.EpisodeDetails.EpisodeId, Is.EqualTo(expected.EpisodeDetails.EpisodeId));
            AssertThatPropertyValuesAreEquals(actual.Result.EpisodeDetails, expected.EpisodeDetails);
        }
Exemple #6
0
 public JsonRpcResponse <GetEpisodeDetailsResponse> GetEpisodeDetails(GetEpisodeDetailsParams parameters, string requestId = "GetTvShowDetailsResponse")
 {
     return(_rpcConnector.MakeRequest <GetEpisodeDetailsResponse>(KodiMethods.GetEpisodeDetails, parameters, requestId));
 }