initialized kettu on gitorious
[kettu:kettu.git] / spec / sort_torrents_helpers_spec.js~
1 describe 'SortTorrentsHelpers'
2   before_each
3     sort_helpers = SortTorrentsHelpers;
4   end
5
6   it 'should be sortable by name'
7     var torrents = [
8       Torrent({'id': '1', 'name': 'Zelda'}),
9       Torrent({'id': '2', 'name': 'Alpha'}),
10       Torrent({'id': '3', 'name': 'Manfred'})
11     ]
12     var sorted_torrents = sort_helpers.sortTorrents('name', torrents)
13     sorted_torrents[0].id.should.eql('2')
14     sorted_torrents[1].id.should.eql('3')
15     sorted_torrents[2].id.should.eql('1')
16   end
17   
18   it 'should be sortable by activity'
19     var torrents = [
20       Torrent({'id': '1', 'rateDownload': 0, 'rateUpload': 0}),
21       Torrent({'id': '2', 'rateDownload': 512, 'rateUpload': 256}),
22       Torrent({'id': '3', 'rateDownload': 512, 'rateUpload': 5})
23     ]
24     var sorted_torrents = sort_helpers.sortTorrents('activity', torrents)
25     sorted_torrents[0].id.should.eql('2')
26     sorted_torrents[1].id.should.eql('3')
27     sorted_torrents[2].id.should.eql('1')    
28   end
29
30   it 'should be sortable by age'
31     var torrents = [
32       Torrent({'id': '1', 'addedDate': 20100102}),
33       Torrent({'id': '2', 'addedDate': 20100201}),
34       Torrent({'id': '3', 'addedDate': 20100115})
35     ]
36     var sorted_torrents = sort_helpers.sortTorrents('age', torrents)
37     sorted_torrents[0].id.should.eql('2')
38     sorted_torrents[1].id.should.eql('3')
39     sorted_torrents[2].id.should.eql('1')    
40   end
41
42   it 'should be sortable by progress'
43     var torrents = [
44       Torrent({'id': '1', 'sizeWhenDone': 100, 'leftUntilDone': 0, 'uploadedEver': 0, 'downloadedEver': 100}),
45       Torrent({'id': '2', 'sizeWhenDone': 100, 'leftUntilDone': 50, 'uploadedEver': 30, 'downloadedEver': 50}),
46       Torrent({'id': '3', 'sizeWhenDone': 100, 'leftUntilDone': 50, 'uploadedEver': 20, 'downloadedEver': 50}),
47       Torrent({'id': '4', 'sizeWhenDone': 100, 'leftUntilDone': 100, 'uploadedEver': 0, 'downloadedEver': 0})
48     ]
49     var sorted_torrents = sort_helpers.sortTorrents('progress', torrents)
50     sorted_torrents[0].id.should.eql('4')
51     sorted_torrents[1].id.should.eql('3')
52     sorted_torrents[2].id.should.eql('2')
53     sorted_torrents[3].id.should.eql('1')
54   end
55
56   it 'should be sortable by queue'
57     var torrents = [
58       Torrent({'id': '2'}),
59       Torrent({'id': '1'}),
60       Torrent({'id': '3'})
61     ]
62     var sorted_torrents = sort_helpers.sortTorrents('queue', torrents)
63     sorted_torrents[0].id.should.eql('1')
64     sorted_torrents[1].id.should.eql('2')
65     sorted_torrents[2].id.should.eql('3')    
66   end
67
68   it 'should be sortable by state'
69     var torrents = [
70       Torrent({'id': '1', 'status': 16}),
71       Torrent({'id': '2', 'status': 4}),
72       Torrent({'id': '3', 'status': 8})
73     ]
74     var sorted_torrents = sort_helpers.sortTorrents('state', torrents)
75     sorted_torrents[0].id.should.eql('2')
76     sorted_torrents[1].id.should.eql('3')
77     sorted_torrents[2].id.should.eql('1')    
78   end
79   
80   it 'should sort reverse if reverse is true'
81     var torrents = [
82       Torrent({'id': '1', 'rateDownload': 0, 'rateUpload': 0}),
83       Torrent({'id': '2', 'rateDownload': 512, 'rateUpload': 256}),
84       Torrent({'id': '3', 'rateDownload': 512, 'rateUpload': 5})
85     ]
86     var sorted_torrents = sort_helpers.sortTorrents('activity', torrents, true)
87     sorted_torrents[0].id.should.eql('1')
88     sorted_torrents[1].id.should.eql('3')
89     sorted_torrents[2].id.should.eql('2')
90   end
91   
92   it 'should not sort reverse if reverse if false'
93     var torrents = [
94       Torrent({'id': '1', 'rateDownload': 0, 'rateUpload': 0}),
95       Torrent({'id': '2', 'rateDownload': 512, 'rateUpload': 256}),
96       Torrent({'id': '3', 'rateDownload': 512, 'rateUpload': 5})
97     ]
98     var sorted_torrents = sort_helpers.sortTorrents('activity', torrents, false)
99     sorted_torrents[0].id.should.eql('2')
100     sorted_torrents[1].id.should.eql('3')
101     sorted_torrents[2].id.should.eql('1')
102   end
103 end