-
Notifications
You must be signed in to change notification settings - Fork 16
/
Copy pathtest_maillist.py
91 lines (65 loc) · 3.33 KB
/
test_maillist.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
import unittest
from maillist import MailList
class MailListTest(unittest.TestCase):
"""docstring for MailListTest"""
def setUp(self):
# fuck static
self.m = MailList(1, "Hack Bulgaria")
def test_create_mail_list_get_name(self):
self.assertEqual("Hack Bulgaria", self.m.get_name())
def test_add_subscriber(self):
self.m.add_subscriber("Rado", "[email protected]")
self.assertEqual(1, self.m.count())
def test_get_subscribers(self):
self.m.add_subscriber("Rado", "[email protected]")
expected = [("Rado", "[email protected]")]
self.assertEqual(expected, self.m.get_subscribers())
def test_get_id(self):
self.assertEqual(1, self.m.get_id())
def test_get_id_after_three_instances(self):
m1 = MailList(1, "Hack")
m2 = MailList(2, "Hack")
m3 = MailList(3, "Hack")
self.assertEqual(1, m1.get_id())
self.assertEqual(2, m2.get_id())
self.assertEqual(3, m3.get_id())
def test_add_subscriber_with_same_email_address(self):
subscriber_email = "[email protected]"
add1 = self.m.add_subscriber("Rado", subscriber_email)
add2 = self.m.add_subscriber("Rado Rado", subscriber_email)
self.assertEqual(1, self.m.count())
self.assertTrue(add1)
self.assertFalse(add2)
self.assertEqual(("Rado", subscriber_email),
self.m.get_subscriber_by_email(subscriber_email))
def test_add_get_subscriber_by_email(self):
self.m.add_subscriber("Rado", "[email protected]")
result = self.m.get_subscriber_by_email("[email protected]")
self.assertEqual(("Rado", "[email protected]"), result)
def test_add_get_subscriber_by_email_when_not_there(self):
self.assertIsNone(self.m.get_subscriber_by_email("[email protected]"))
def test_update_subscriber_changing_name(self):
self.m.add_subscriber("Rado rado", "[email protected]")
self.m.update_subscriber("[email protected]",
{"name": "Radoslav Georgiev"})
self.assertEqual("Radoslav Georgiev",
self.m.get_subscriber_by_email("[email protected]")[0])
def test_update_subscriber_changing_email(self):
self.m.add_subscriber("Rado rado", "[email protected]")
self.m.update_subscriber("[email protected]",
{"email": "[email protected]"})
self.assertEqual(("Rado rado", "[email protected]"),
self.m.get_subscriber_by_email("[email protected]"))
def test_update_subscriber_changing_name_and_email(self):
self.m.add_subscriber("Rado rado", "[email protected]")
self.m.update_subscriber("[email protected]",
{"name": "Radoslav Georgiev",
"email": "[email protected]"})
self.assertEqual(("Radoslav Georgiev", "[email protected]"),
self.m.get_subscriber_by_email("[email protected]"))
def test_remove_subscriber(self):
self.m.add_subscriber("Rado rado", "[email protected]")
self.m.remove_subscriber("[email protected]")
self.assertEqual(0, self.m.count())
def test_remove_subscriber_when_not_there(self):
self.assertIsNone(self.m.remove_subscriber("[email protected]"))