forked from HackBulgaria/MailList
-
Notifications
You must be signed in to change notification settings - Fork 0
/
test_maillist.py
91 lines (73 loc) · 3.59 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):
self.m = MailList("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", "radorado@hackbulgaria.com")
self.assertEqual(1, self.m.count())
def test_get_subscribers(self):
self.m.add_subscriber("Rado", "radorado@hackbulgaria.com")
expected = [("Rado", "radorado@hackbulgaria.com")]
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 = "radorado@hackbulgaria.com"
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", "radorado@hackbulgaria.com")
result = self.m.get_subscriber_by_email("radorado@hackbulgaria.com")
self.assertEqual(("Rado", "radorado@hackbulgaria.com"), result)
def test_add_get_subscriber_by_email_when_not_there(self):
self.assertIsNone(self.m.get_subscriber_by_email("asd@asd.com"))
def test_update_subscriber_changing_name(self):
self.m.add_subscriber("Rado rado", "rado@rado.com")
self.m.update_subscriber("rado@rado.com",
{"name": "Radoslav Georgiev"})
self.assertEqual("Radoslav Georgiev",
self.m.get_subscriber_by_email("rado@rado.com")[0])
def test_update_subscriber_changing_email(self):
self.m.add_subscriber("Rado rado", "rado@rado.com")
self.m.update_subscriber("rado@rado.com",
{"email": "radorado@rado.com"})
self.assertEqual(("Rado rado", "radorado@rado.com"),
self.m.get_subscriber_by_email("radorado@rado.com"))
def test_update_subscriber_changing_name_and_email(self):
self.m.add_subscriber("Rado rado", "rado@rado.com")
self.m.update_subscriber("rado@rado.com",
{"name": "Radoslav Georgiev",
"email": "radorado@rado.com"})
self.assertEqual(("Radoslav Georgiev", "radorado@rado.com"),
self.m.get_subscriber_by_email("radorado@rado.com"))
def test_remove_subscriber(self):
self.m.add_subscriber("Rado rado", "rado@rado.com")
self.m.remove_subscriber("rado@rado.com")
self.assertEqual(0, self.m.count())
def test_remove_subscriber_when_not_there(self):
self.assertIsNone(self.m.remove_subscriber("rado@radorado.com"))
#I don't remember if I wrote it. If it's me -> remove it
# def test_save_subscriber(self):
# self.m.add_subscriber("Rado rado", "rado@rado.com")
# self.m.save_subscriber()
# self.assertGreater(self.m.get_id(), -1)
if __name__ == '__main__':
unittest.main()