@ -42,8 +42,8 @@ namespace NzbDrone.Core.Test.Download.DownloadClientTests.TransmissionTests
var item = Subject . GetItems ( ) . Single ( ) ;
VerifyCompleted ( item ) ;
item . CanBeRemoved . Should ( ) . Be Tru e( ) ;
item . CanMoveFiles . Should ( ) . Be Tru e( ) ;
item . CanBeRemoved . Should ( ) . Be Fals e( ) ;
item . CanMoveFiles . Should ( ) . Be Fals e( ) ;
}
[Test]
@ -175,7 +175,7 @@ namespace NzbDrone.Core.Test.Download.DownloadClientTests.TransmissionTests
item . Status . Should ( ) . Be ( expectedItemStatus ) ;
}
[TestCase(TransmissionTorrentStatus.Stopped, DownloadItemStatus.Completed, tru e)]
[TestCase(TransmissionTorrentStatus.Stopped, DownloadItemStatus.Completed, fals e)]
[TestCase(TransmissionTorrentStatus.CheckWait, DownloadItemStatus.Downloading, false)]
[TestCase(TransmissionTorrentStatus.Check, DownloadItemStatus.Downloading, false)]
[TestCase(TransmissionTorrentStatus.Queued, DownloadItemStatus.Completed, false)]
@ -283,5 +283,139 @@ namespace NzbDrone.Core.Test.Download.DownloadClientTests.TransmissionTests
var item = Subject . GetItems ( ) . Single ( ) ;
item . RemainingTime . Should ( ) . NotHaveValue ( ) ;
}
[Test]
public void should_not_be_removable_and_should_not_allow_move_files_if_max_ratio_reached_and_not_stopped ( )
{
GivenGlobalSeedLimits ( 1.0 ) ;
PrepareClientToReturnCompletedItem ( false , ratio : 1.0 ) ;
var item = Subject . GetItems ( ) . Single ( ) ;
item . CanBeRemoved . Should ( ) . BeFalse ( ) ;
item . CanMoveFiles . Should ( ) . BeFalse ( ) ;
}
[Test]
public void should_not_be_removable_and_should_not_allow_move_files_if_max_ratio_is_not_set ( )
{
GivenGlobalSeedLimits ( ) ;
PrepareClientToReturnCompletedItem ( true , ratio : 1.0 ) ;
var item = Subject . GetItems ( ) . Single ( ) ;
item . CanBeRemoved . Should ( ) . BeFalse ( ) ;
item . CanMoveFiles . Should ( ) . BeFalse ( ) ;
}
[Test]
public void should_be_removable_and_should_allow_move_files_if_max_ratio_reached_and_paused ( )
{
GivenGlobalSeedLimits ( 1.0 ) ;
PrepareClientToReturnCompletedItem ( true , ratio : 1.0 ) ;
var item = Subject . GetItems ( ) . Single ( ) ;
item . CanBeRemoved . Should ( ) . BeTrue ( ) ;
item . CanMoveFiles . Should ( ) . BeTrue ( ) ;
}
[Test]
public void should_be_removable_and_should_allow_move_files_if_overridden_max_ratio_reached_and_paused ( )
{
GivenGlobalSeedLimits ( 2.0 ) ;
PrepareClientToReturnCompletedItem ( true , ratio : 1.0 , ratioLimit : 0.8 ) ;
var item = Subject . GetItems ( ) . Single ( ) ;
item . CanBeRemoved . Should ( ) . BeTrue ( ) ;
item . CanMoveFiles . Should ( ) . BeTrue ( ) ;
}
[Test]
public void should_not_be_removable_if_overridden_max_ratio_not_reached_and_paused ( )
{
GivenGlobalSeedLimits ( 0.2 ) ;
PrepareClientToReturnCompletedItem ( true , ratio : 0.5 , ratioLimit : 0.8 ) ;
var item = Subject . GetItems ( ) . Single ( ) ;
item . CanBeRemoved . Should ( ) . BeFalse ( ) ;
item . CanMoveFiles . Should ( ) . BeFalse ( ) ;
}
[Test]
public void should_not_be_removable_and_should_not_allow_move_files_if_max_idletime_reached_and_not_paused ( )
{
GivenGlobalSeedLimits ( null , 20 ) ;
PrepareClientToReturnCompletedItem ( false , ratio : 2.0 , seedingTime : 30 ) ;
var item = Subject . GetItems ( ) . Single ( ) ;
item . CanBeRemoved . Should ( ) . BeFalse ( ) ;
item . CanMoveFiles . Should ( ) . BeFalse ( ) ;
}
[Test]
public void should_be_removable_and_should_allow_move_files_if_max_idletime_reached_and_paused ( )
{
GivenGlobalSeedLimits ( null , 20 ) ;
PrepareClientToReturnCompletedItem ( true , ratio : 2.0 , seedingTime : 20 ) ;
var item = Subject . GetItems ( ) . Single ( ) ;
item . CanBeRemoved . Should ( ) . BeTrue ( ) ;
item . CanMoveFiles . Should ( ) . BeTrue ( ) ;
}
[Test]
public void should_be_removable_and_should_allow_move_files_if_overridden_max_idletime_reached_and_paused ( )
{
GivenGlobalSeedLimits ( null , 40 ) ;
PrepareClientToReturnCompletedItem ( true , ratio : 2.0 , seedingTime : 20 , idleLimit : 10 ) ;
var item = Subject . GetItems ( ) . Single ( ) ;
item . CanBeRemoved . Should ( ) . BeTrue ( ) ;
item . CanMoveFiles . Should ( ) . BeTrue ( ) ;
}
[Test]
public void should_be_removable_and_should_not_allow_move_files_if_overridden_max_idletime_reached_and_not_paused ( )
{
GivenGlobalSeedLimits ( null , 40 ) ;
PrepareClientToReturnCompletedItem ( false , ratio : 2.0 , seedingTime : 20 , idleLimit : 10 ) ;
var item = Subject . GetItems ( ) . Single ( ) ;
item . CanBeRemoved . Should ( ) . BeTrue ( ) ;
item . CanMoveFiles . Should ( ) . BeFalse ( ) ;
}
[Test]
public void should_not_be_removable_if_overridden_max_idletime_not_reached_and_paused ( )
{
GivenGlobalSeedLimits ( null , 20 ) ;
PrepareClientToReturnCompletedItem ( true , ratio : 2.0 , seedingTime : 30 , idleLimit : 40 ) ;
var item = Subject . GetItems ( ) . Single ( ) ;
item . CanBeRemoved . Should ( ) . BeFalse ( ) ;
item . CanMoveFiles . Should ( ) . BeFalse ( ) ;
}
[Test]
public void should_not_be_removable_if_max_idletime_reached_but_ratio_not_and_not_paused ( )
{
GivenGlobalSeedLimits ( 2.0 , 20 ) ;
PrepareClientToReturnCompletedItem ( false , ratio : 1.0 , seedingTime : 30 ) ;
var item = Subject . GetItems ( ) . Single ( ) ;
item . CanBeRemoved . Should ( ) . BeFalse ( ) ;
item . CanMoveFiles . Should ( ) . BeFalse ( ) ;
}
[Test]
public void should_be_removable_and_should_allow_move_files_if_max_idletime_configured_and_paused ( )
{
GivenGlobalSeedLimits ( 2.0 , 20 ) ;
PrepareClientToReturnCompletedItem ( true , ratio : 1.0 , seedingTime : 30 ) ;
var item = Subject . GetItems ( ) . Single ( ) ;
item . CanBeRemoved . Should ( ) . BeTrue ( ) ;
item . CanMoveFiles . Should ( ) . BeTrue ( ) ;
}
}
}