diff --git a/tsstats/tests/test_template.py b/tsstats/tests/test_template.py index ab6999d..a521182 100644 --- a/tsstats/tests/test_template.py +++ b/tsstats/tests/test_template.py @@ -43,5 +43,19 @@ def test_debug(output): def test_onlinetime(soup): - assert seconds_to_text(clients['1'].onlinetime) == \ - soup.find('span', class_='badge').text + # move this into a (parameterized) fixture or function + items = soup.find('ul', id='onlinetime').find_all('li') + nick_data = {} + for item in items: + nick, data = item.find_all('span') + nick_data[nick.text] = data.text + # seperate between uuid and id-clients or merge them some way + # => assert len(items) == len(clients.id) + assert len(items) == 2 + for client in clients: + if client.nick in nick_data and client.onlinetime > 0: + # remove this clause after splitting cients + # (uuid-clients will never have a online-time, because + # they're only used for bans and kicks) + assert nick_data[client.nick] == \ + seconds_to_text(client.onlinetime)