Add phone number support to friends, and contacts, and populate from
[hermes] / package / test / unit / test_friend.py
1 from org.maemo.hermes.engine.friend import Friend
2 from org.maemo.hermes.engine.phonenumber import PhoneNumber
3 import unittest
4
5 class FakeContact():
6     def __init__(self, name):
7         self.name = name
8         self.urls = []
9         self.phones = []
10         self.photo = None
11         self.nickname = None
12         self.birthday = None
13     def add_url(self, url):
14         self.urls.append(url)
15         return 1
16     def get_urls(self):
17         return self.urls
18     def get_name(self):
19         return self.name
20     def get_identifiers(self):
21         return [canonical(self.name)]
22     def add_phone(self, phone):
23         self.phones.append(phone.get_number())
24         return 1
25     def get_phones(self):
26         return self.phones
27     def get_photo(self):
28         return self.photo
29     def set_photo(self, photo):
30         self.photo = photo
31     def get_nickname(self):
32         return self.nickname
33     def set_nickname(self, nickname):
34         self.nickname = nickname
35     def get_birthday(self):
36         return self.birthday
37     def set_birthday(self, d, m, y):
38         self.birthday = '%s-%s-%s' % (y, m, d)
39
40 class TestFriend(unittest.TestCase):
41     
42     def test_that_contacts_are_updated(self):
43         friend = Friend(name = 'Bob Smith', source = 'test')
44         friend.add_url("http://chitter.com/bob.smith")
45         friend.add_url("http://www.friendface.com/bob.smith")
46         friend.add_phone(PhoneNumber("01234 567890"))
47         
48         contact = FakeContact('Person Person')
49         friend.update_contact(contact, False)
50         assert 'http://chitter.com/bob.smith' in contact.get_urls()
51         assert 'http://www.friendface.com/bob.smith' in contact.get_urls()
52
53     
54 if __name__ == '__main__':
55     unittest.main()