@ -13,6 +13,7 @@ namespace NzbDrone.Core.Test.NotificationTests.Xbmc.Json
[TestFixture]
public class GetSeriesPathFixture : CoreTest < JsonApiProvider >
{
private const int TVDB_ID = 5 ;
private XbmcSettings _settings ;
private Series _series ;
private string _response ;
@ -25,24 +26,28 @@ namespace NzbDrone.Core.Test.NotificationTests.Xbmc.Json
. Build ( ) ;
_xbmcSeries = Builder < TvShow > . CreateListOfSize ( 3 )
. Build ( )
. ToList ( ) ;
. All ( )
. With ( s = > s . ImdbNumber = "0" )
. TheFirst ( 1 )
. With ( s = > s . ImdbNumber = TVDB_ID . ToString ( ) )
. Build ( )
. ToList ( ) ;
Mocker . GetMock < IXbmcJsonApiProxy > ( )
. Setup ( s = > s . GetSeries ( _settings ) )
. Returns ( _xbmcSeries ) ;
}
private void With MatchingTvdbId( )
private void Given MatchingTvdbId( )
{
_series = new Series
{
TvdbId = _xbmcSeries. First ( ) . ImdbNumber ,
TvdbId = TVDB_ID ,
Title = "TV Show"
} ;
}
private void With MatchingTitle( )
private void Given MatchingTitle( )
{
_series = new Series
{
@ -51,7 +56,7 @@ namespace NzbDrone.Core.Test.NotificationTests.Xbmc.Json
} ;
}
private void Without MatchingSeries( )
private void Given MatchingSeries( )
{
_series = new Series
{
@ -63,7 +68,7 @@ namespace NzbDrone.Core.Test.NotificationTests.Xbmc.Json
[Test]
public void should_return_null_when_series_is_not_found ( )
{
Without MatchingSeries( ) ;
Given MatchingSeries( ) ;
Subject . GetSeriesPath ( _settings , _series ) . Should ( ) . BeNull ( ) ;
}
@ -71,7 +76,7 @@ namespace NzbDrone.Core.Test.NotificationTests.Xbmc.Json
[Test]
public void should_return_path_when_tvdbId_matches ( )
{
With MatchingTvdbId( ) ;
Given MatchingTvdbId( ) ;
Subject . GetSeriesPath ( _settings , _series ) . Should ( ) . Be ( _xbmcSeries . First ( ) . File ) ;
}
@ -79,9 +84,24 @@ namespace NzbDrone.Core.Test.NotificationTests.Xbmc.Json
[Test]
public void should_return_path_when_title_matches ( )
{
With MatchingTitle( ) ;
Given MatchingTitle( ) ;
Subject . GetSeriesPath ( _settings , _series ) . Should ( ) . Be ( _xbmcSeries . First ( ) . File ) ;
}
[Test]
public void should_not_throw_when_imdb_number_is_not_a_number ( )
{
GivenMatchingTvdbId ( ) ;
_xbmcSeries . ForEach ( s = > s . ImdbNumber = "tt12345" ) ;
_xbmcSeries . Last ( ) . ImdbNumber = TVDB_ID . ToString ( ) ;
Mocker . GetMock < IXbmcJsonApiProxy > ( )
. Setup ( s = > s . GetSeries ( _settings ) )
. Returns ( _xbmcSeries ) ;
Subject . GetSeriesPath ( _settings , _series ) . Should ( ) . NotBeNull ( ) ;
}
}
}