initialized kettu on gitorious
[kettu:kettu.git] / features / torrent_info.feature
1 Feature: Torrent info
2   In order to evaluate the current state of a torrent
3   As a user
4   I want to see more information about the torrent
5
6   Scenario: double clicking on a torrent opens info
7     Given a torrent with the name "Mutant Ninja Turtles"
8       And the torrent "Mutant Ninja Turtles" has more info like the download directory which is "/downloads"
9     When I go to the start page
10       And I wait for the AJAX call to finish
11       And I double click on the torrent
12       And I wait for the AJAX call to finish
13     Then I should see "/downloads"
14     When I double click on the torrent
15     Then I should not see "/downloads"
16     
17   Scenario: double clicking on a torrent and then single clicking on another one updates info
18     Given three torrents with the names "Mutant Ninja Turtles, Donald Duck, Saber Riders" and the ids "1, 2, 3"
19       And the torrent "Mutant Ninja Turtles" has more info like the download directory which is "/downloads"
20     When I go to the start page
21       And I double click on the torrent "1"
22       And the torrent "Donald Duck" has more info like the download directory which is "/my_torrents"
23       And I click on the torrent "2"
24     Then I should see "/my_torrents"  
25   
26   Scenario: info displays tracker information
27     Given a torrent with the tracker "my.tracker.com:1234" a last announce timestamp of "1266830556" and a next announce in 30 minutes
28     When I go to the start page
29       And I wait for the AJAX call to finish
30       And I double click on the torrent "1"
31       And I wait for the AJAX call to finish
32       And I follow "Trackers"
33     Then I should see "my.tracker.com:1234"
34       And I should see a formatted time for the timestamp
35       And I should see a countdown time of about 30 minutes
36
37   Scenario: info displays file information
38     Given a torrent with the file "README.md" which has a size of 12 bytes and has already downloaded 6 bytes
39     When I go to the start page
40       And I wait for the AJAX call to finish
41       And I double click on the torrent "1"
42       And I wait for the AJAX call to finish
43       And I follow "Files"
44     Then I should see "12 bytes"
45       And I should see "50%"
46
47   Scenario: info displays peer information
48     Given a torrent with a peer with IP "1.2.3.4" and client name "Transmission Rocks"
49     When I go to the start page
50       And I wait for the AJAX call to finish
51       And I double click on the torrent "1"
52       And I wait for the AJAX call to finish
53       And I follow "Peers"
54     Then I should see "1.2.3.4"
55       And I should see "Transmission Rocks"
56
57   Scenario: info updates itself
58     Given a torrent with a peer with IP "1.2.3.4" and client name "Transmission Rocks"
59     When I go to the start page
60       And I wait for the AJAX call to finish
61       And I double click on the torrent "1"
62       And I wait for the AJAX call to finish
63       And I follow "Peers"
64     Then I should see "1.2.3.4"
65     When there is new data for the torrent with new IP "6.7.8.9" and new client name "Elephant"
66       And I wait for "3"s
67     Then I should see "6.7.8.9"
68       And I should see "Elephant"
69       And I should not see "1.2.3.4"
70       And I should not see "Transmission Rocks"