def test_anniversary_does_not_support_setting_text_values_for_v3(self): vcard = create_test_vcard(version="3.0") wrapper = VCardWrapper(vcard) with self.assertLogs(level='WARNING'): wrapper.birthday = 'some time yesterday' wrapper.vcard.validate() self.assertIsNone(wrapper.anniversary)
def test_anniversary_supports_setting_date_objects(self): vcard = create_test_vcard() wrapper = VCardWrapper(vcard) date = datetime.datetime(2018, 2, 1) wrapper.anniversary = date wrapper.vcard.validate() self.assertEqual(wrapper.anniversary, date)
def test_get_last_name_first_name_with_complex_name(self): vcard = create_test_vcard() wrapper = VCardWrapper(vcard) wrapper._add_name(['prefix1', 'prefix2'], ['given1', 'given2'], ['additional1', 'additional2'], ['family1', 'family2'], ['suffix1', 'suffix2']) self.assertEqual( wrapper.get_last_name_first_name(), 'family1 family2,' ' given1 given2 additional1 additional2')
def test_name_can_be_set_with_empty_lists(self): vcard = create_test_vcard() wrapper = VCardWrapper(vcard) wrapper._add_name([], [], [], [], []) self.assertEqual( vcard.serialize(), 'BEGIN:VCARD\r\n' 'VERSION:3.0\r\n' 'FN:Test vCard\r\n' 'N:;;;;\r\n' 'END:VCARD\r\n')
def test_adding_preferred_emails(self): vcard = create_test_vcard() wrapper = VCardWrapper(vcard) wrapper.add_email('home', '*****@*****.**') wrapper.add_email('pref,home', '*****@*****.**') self.assertDictEqual(wrapper.emails, { 'home': ['*****@*****.**'], 'home, pref': ['*****@*****.**'] })
def test_adding_preferred_phone_number(self): vcard = create_test_vcard() wrapper = VCardWrapper(vcard) wrapper._add_phone_number('home', '0123456789') wrapper._add_phone_number('pref,home', '0987654321') self.assertDictEqual(wrapper.phone_numbers, { 'home': ['0123456789'], 'home, pref': ['0987654321'] })
def test_adding_multible_emails(self): vcard = create_test_vcard() wrapper = VCardWrapper(vcard) wrapper.add_email('work', '*****@*****.**') wrapper.add_email('home', '*****@*****.**') wrapper.add_email('home', '*****@*****.**') self.assertDictEqual( wrapper.emails, # The lists are sorted! { 'home': ['*****@*****.**', '*****@*****.**'], 'work': ['*****@*****.**'] })
def test_adding_multible_phone_number(self): vcard = create_test_vcard() wrapper = VCardWrapper(vcard) wrapper._add_phone_number('work', '0987654321') wrapper._add_phone_number('home', '0123456789') wrapper._add_phone_number('home', '0112233445') self.assertDictEqual( wrapper.phone_numbers, # The lists are sorted! { 'home': ['0112233445', '0123456789'], 'work': ['0987654321'] })