fixed get_friends_to_create_contacts_for for Facebook
[hermes] / package / test / unit / test_facebook.py
index 3869c58..b766d2f 100644 (file)
@@ -22,7 +22,42 @@ class FakeContact():
 class TestFacebookService(unittest.TestCase):
     
     def setUp(self):
-        self.testee = Service(None)
+        self.testee = Service("facebook", None)
+        
+    
+    def test_that_get_friends_to_create_contacts_for_works(self):
+        def run_test(expected_length):
+            self._fake_server_response([{'uid':'123456','name':'Facebook Junkie', 'birthday_date':'now'}])
+            self._run_service([])
+            friends = self.testee.get_friends_to_create_contacts_for()
+            assert len(friends) == expected_length
+            
+        # default is to NOT create contacts
+        self.testee = Service("facebook", None)
+        run_test(0)
+        
+        # passing False explicitly
+        self.testee = Service("facebook", None, False)
+        run_test(0)
+        
+        # passing True to constructor
+        self.testee = Service("facebook", None, True)
+        run_test(1)
+        
+    
+    def test_that_gftccf_returns_friends_with_birth_date(self):
+        self.testee = Service("facebook", None, True)
+        bday = '1980-10-15'
+        props_with_bday = {'uid':'123456','name':'Facebook Junkie', 'birthday_date':bday}
+        props_without = {'uid':'123457','name':'Johnny Secret'}
+        self._fake_server_response([props_with_bday, props_without])
+        self._run_service([])
+        
+        assert len(self.testee.get_friends()) == 2
+        friends = self.testee.get_friends_to_create_contacts_for()
+        assert len(friends) == 1
+        assert friends[0].has_birthday_date()
+        assert friends[0].get_birthday_date() == bday 
         
         
     def test_that_process_contact_returns_friend_object_for_known_contact(self):