Beispiel #1
0
 def testGetClubContactsHtml(self):
     contactsByRole = {}
     contactsByRole["Secretary"] = [(PersonData(name="Contact 1",
                                                address="Buckingham Palace",
                                                phoneNumbers=["0124124"]),
                                     RoleData(email="thesecretary"))]
     contactsByRole["Under-16"] = [(PersonData(name="Contact 2",
                                               phoneNumbers=["113"]),
                                    RoleData())]
     contactsByRole["Captain"] = [(PersonData(name="Contact 3",
                                              phoneNumbers=["999"]),
                                   RoleData())]
     result = FullContacts("").getClubContactsHtml("My Club",
                                                   contactsByRole)
     expectedResult = """
     <tr>
     <td class="role">My Club</td>
     <td>
     Secretary: <script language="javascript">
         document.write(mailTo("thesecretary", "", "", "Contact 1"));
     </script>
     <noscript>Contact 1<i> (Javascript not enabled: cannot display mail link)</i>
     </noscript><br>
     Buckingham Palace<br>
     0124124<br>
     Captain: Contact 3, 
     999<br>
     Under-16: Contact 2, 
     113
     </td>
     </tr>
     """
     self.assertMultiLineEqual(expectedResult, result)
Beispiel #2
0
 def testGetClubContactListHtmlNotFullSecretaryNotSpecified(self):
     contactsByRole = {}
     contactsByRole["asdgsdags"] = (PersonData(name="Contact 1",
                                               address="Buckingham Palace",
                                               phoneNumbers=["0124124"]),
                                    RoleData(email="thesecretary"))
     contactsByRole["Under-16"] = (PersonData(name="Contact 2",
                                              phoneNumbers=["113"]),
                                   RoleData())
     contactsByRole["Captain"] = (PersonData(name="Contact 3",
                                             phoneNumbers=["999"]),
                                  RoleData())
     result = PartialContacts("").getClubContactListHtml(contactsByRole)
     expectedResult = "TBC"
     self.assertMultiLineEqual(expectedResult, result)
Beispiel #3
0
 def testGetRoles(self):
     xml = """
     <person>
     <role name="Chairman">
         <email id="chairman" />
     </role>
     <role name="Secretary" club="Denmead">
         <email id="denmead.secretary" />
     </role>
     <role name="Captain" club="Denmead" />
     </person>
     """
     personElement = ElementTree.fromstring(xml)
     dataObject = PersonData()
     PartialContacts("").getRoles(personElement, dataObject)
     expectedResults = []
     expectedResults.append(("Chairman", None, "chairman"))
     expectedResults.append(("Secretary", "Denmead", "denmead.secretary"))
     expectedResults.append(("Captain", "Denmead", None))
     for expected, result in zip(expectedResults, dataObject.roles):
         expName, expClub, expEmail = expected
         self.assertEquals(expName, result.name)
         self.assertEquals(expClub, result.club)
         self.assertEquals(expEmail, result.email)
     self.assertEquals(len(expectedResults), len(dataObject.roles))
Beispiel #4
0
 def testGetPersonHtmlPersonSpecifiedEmailNotSpecifiedNotFull(self):
     person = PersonData(name="Pandolf Ironhead")
     email = None
     defaultText = "Hello goodbye"
     result = PartialContacts("").getPersonHtml(person, email, defaultText,
                                                True)
     expectedResult = "Pandolf Ironhead"
     self.assertEquals(expectedResult, result)
Beispiel #5
0
 def testGetAddressNoAddressSpecified(self):
     xml = """
     <person/>
     """
     personElement = ElementTree.fromstring(xml)
     dataObject = PersonData()
     PartialContacts("").getAddress(personElement, dataObject)
     expectedResult = None
     self.assertEquals(expectedResult, dataObject.address)
Beispiel #6
0
 def testGetPhoneNumbersNoNumbersSpecified(self):
     xml = """
     <person>
         <address> Four Stoneycroft Rise              </address>
     </person>
     """
     personElement = ElementTree.fromstring(xml)
     dataObject = PersonData()
     PartialContacts("").getPhoneNumbers(personElement, dataObject)
     expectedResult = []
     self.assertEquals(expectedResult, dataObject.phoneNumbers)
Beispiel #7
0
 def testGetNameNameSpecified(self):
     xml = """
     <person>
         <name>    Jeremy Hicks   </name>
     </person>
     """
     personElement = ElementTree.fromstring(xml)
     dataObject = PersonData()
     PartialContacts("").getName(personElement, dataObject)
     expectedResult = "Jeremy Hicks"
     self.assertEquals(expectedResult, dataObject.name)
Beispiel #8
0
 def testGetClubContactListHtmlNotFullSecretarySpecified(self):
     contactsByRole = {}
     contactsByRole["Secretary"] = [(PersonData(name="Contact 1",
                                                address="Buckingham Palace",
                                                phoneNumbers=["0124124"]),
                                     RoleData(email="thesecretary"))]
     contactsByRole["Under-16"] = [(PersonData(name="Contact 2",
                                               phoneNumbers=["113"]),
                                    RoleData())]
     contactsByRole["Captain"] = [(PersonData(name="Contact 3",
                                              phoneNumbers=["999"]),
                                   RoleData())]
     result = PartialContacts("").getClubContactListHtml(contactsByRole)
     expectedResult = """
     <script language="javascript">
         document.write(mailTo("thesecretary", "", "", "Contact 1"));
     </script>
     <noscript>Contact 1<i> (Javascript not enabled: cannot display mail link)</i>
     </noscript>
     """
     self.assertMultiLineEqual(expectedResult, result)
Beispiel #9
0
 def testGetPersonHtmlPersonSpecifiedEmailNotSpecifiedFullAddressNoPhoneNumbers(
         self):
     person = PersonData(name="Pandolf Ironhead",
                         address="Schloss Eisenkopf")
     email = None
     defaultText = "Hello goodbye"
     result = FullContacts("").getPersonHtml(person, email, defaultText,
                                             True)
     expectedResult = """
     Pandolf Ironhead<br>
     Schloss Eisenkopf
     """
     self.assertMultiLineEqual(expectedResult, result)
Beispiel #10
0
 def testGetPhoneNumbersSomeNumbersSpecified(self):
     xml = """
     <person>
         <phone> 07423152361  </phone>
         <phone>02392 563323</phone>
         <phone>0193 282 2282</phone>
     </person>
     """
     personElement = ElementTree.fromstring(xml)
     dataObject = PersonData()
     PartialContacts("").getPhoneNumbers(personElement, dataObject)
     expectedResult = ["07423 152361", "023 9256 3323", "01932 822282"]
     self.assertEquals(expectedResult, dataObject.phoneNumbers)
Beispiel #11
0
 def testGetPersonHtmlPersonSpecifiedEmailNotSpecifiedFullNoAddressMultiplePhoneNumbers(
         self):
     person = PersonData(name="Pandolf Ironhead",
                         phoneNumbers=["01329312895", "07878727131"])
     email = None
     defaultText = "Hello goodbye"
     result = FullContacts("").getPersonHtml(person, email, defaultText,
                                             True)
     expectedResult = """
     Pandolf Ironhead, 
     01329312895 / 07878727131
     """
     self.assertMultiLineEqual(expectedResult, result)
Beispiel #12
0
 def testGetPersonHtmlPersonSpecifiedEmailSpecifiedNotFull(self):
     person = PersonData(name="Pandolf Ironhead")
     email = "pandolf"
     defaultText = "Hello goodbye"
     result = PartialContacts("").getPersonHtml(person, email, defaultText,
                                                True)
     expectedResult = """
     <script language="javascript">
         document.write(mailTo("pandolf", "", "", "Pandolf Ironhead"));
     </script>
     <noscript>Pandolf Ironhead<i> (Javascript not enabled: cannot display mail link)</i>
     </noscript>
     """
     self.assertMultiLineEqual(expectedResult, result)
Beispiel #13
0
 def testGetCommitteeContactHtmlPersonForRoleNoEmail(self):
     roleName = "Manager"
     person = PersonData(name="Steve Evans")
     role = RoleData()
     defaultText = "Not filled at the moment"
     result = PartialContacts("").getCommitteeContactHtml(
         roleName, person, role, defaultText)
     expectedResult = """
     <tr>
         <td class="role">Manager</td>
         <td>Steve Evans</td>
     </tr>
     """
     self.assertMultiLineEqual(expectedResult, result)
Beispiel #14
0
 def testGetPersonHtmlPersonSpecifiedEmailSpecifiedFullNoAddressMultiplePhoneNumbers(
         self):
     person = PersonData(name="Pandolf Ironhead",
                         phoneNumbers=["01329312895", "07878727131"])
     email = "pandolf"
     defaultText = "Hello goodbye"
     result = FullContacts("").getPersonHtml(person, email, defaultText,
                                             True)
     expectedResult = """
     <script language="javascript">
         document.write(mailTo("pandolf", "", "", "Pandolf Ironhead"));
     </script>
     <noscript>Pandolf Ironhead<i> (Javascript not enabled: cannot display mail link)</i>
     </noscript>,
     01329312895 / 07878727131
     """
     self.assertMultiLineEqual(expectedResult, result)
Beispiel #15
0
 def testGetCommitteeContactHtmlPersonForRoleWithEmail(self):
     roleName = "Manager"
     person = PersonData(name="Steve Evans")
     role = RoleData(email="rufcmgr")
     defaultText = "Not filled at the moment"
     result = PartialContacts("").getCommitteeContactHtml(
         roleName, person, role, defaultText)
     expectedResult = """
     <tr>
         <td class="role">Manager</td>
         <td><script language="javascript">
         document.write(mailTo("rufcmgr", "", "", "Steve Evans"));
     </script>
     <noscript>Steve Evans<i> (Javascript not enabled: cannot display mail link)</i>
     </noscript></td>
     </tr>
     """
     self.assertMultiLineEqual(expectedResult, result)
Beispiel #16
0
 def testGetAllClubsContactHtml(self):
     people = []
     people.append(
         PersonData(name="Jeremy Hicks",
                    roles=[
                        RoleData(name="Secretary",
                                 email="rufc",
                                 club="Rotherham")
                    ]))
     people.append(
         PersonData(name="Peter Hicks",
                    roles=[
                        RoleData(name="Secretary",
                                 email="pvfc",
                                 club="Port Vale")
                    ]))
     people.append(
         PersonData(name="Joe Hicks",
                    roles=[
                        RoleData(name="Secretary",
                                 email="pfc",
                                 club="Portsmouth")
                    ]))
     contactsByClubAndRole = {}
     for p in people:
         role = p.roles[0]
         contactsByClubAndRole[role.club] = {role.name: [(p, p.roles[0])]}
     result = PartialContacts("").getAllClubsContactsHtml(
         contactsByClubAndRole)
     expectedResult = """
     <table>
         <tbody>
             <tr>
                 <td class="role">Portsmouth</td>
                 <td>
                     <script language="javascript">
         document.write(mailTo("pfc", "", "", "Joe Hicks"));
     </script>
     <noscript>Joe Hicks<i> (Javascript not enabled: cannot display mail link)</i>
     </noscript>
                 </td>
             </tr>
             <tr>
                 <td class="role">Port Vale</td>
                 <td>
                     <script language="javascript">
         document.write(mailTo("pvfc", "", "", "Peter Hicks"));
     </script>
     <noscript>Peter Hicks<i> (Javascript not enabled: cannot display mail link)</i>
     </noscript>
                 </td>
             </tr>
             <tr>
                 <td class="role">Rotherham</td>
                 <td>
                     <script language="javascript">
         document.write(mailTo("rufc", "", "", "Jeremy Hicks"));
     </script>
     <noscript>Jeremy Hicks<i> (Javascript not enabled: cannot display mail link)</i>
     </noscript>
                 </td>
             </tr>
         </tbody>
     </table>
     """
     self.assertMultiLineEqual(expectedResult, result)
Beispiel #17
0
 def testGetCommitteeContactsSomeRolesFilled(self):
     personList = []
     personList.append(PersonData(name="Carol Cooper", \
                                  roles=[RoleData(name="President", email="president")]))
     personList.append(PersonData(name="Richard Matthews", \
                                  roles=[RoleData(name="Chairman", email="chairman"), \
                                         RoleData(name="Secretary", club="Denmead", email="denmead.secretary")]))
     personList.append(PersonData(name="Jeremy Hicks", \
                                  roles=[RoleData(name="Fixture secretary", email="fixturesec"), \
                                         RoleData(name="Webmaster", email="website")]))
     result = PartialContacts("").getCommitteeContacts(personList)
     expectedResult = """
     <table>
         <tbody>
             <tr>
                 <td class="role">President</td>
                 <td><script language="javascript">
         document.write(mailTo("president", "", "", "Carol Cooper"));
     </script>
     <noscript>Carol Cooper<i> (Javascript not enabled: cannot display mail link)</i>
     </noscript></td>
             </tr>
             <tr>
                 <td class="role">Chairman</td>
                 <td><script language="javascript">
         document.write(mailTo("chairman", "", "", "Richard Matthews"));
     </script>
     <noscript>Richard Matthews<i> (Javascript not enabled: cannot display mail link)</i>
     </noscript></td>
             </tr>
             <tr>
                 <td class="role">Vice-Chairman</td>
                 <td>Currently vacant</td>
             </tr>
             <tr>
                 <td class="role">Secretary</td>
                 <td>Currently vacant</td>
             </tr>
             <tr>
                 <td class="role">Treasurer</td>
                 <td>Currently vacant</td>
             </tr>
             <tr>
                 <td class="role">Umpires' Co-ordinator</td>
                 <td>Currently vacant</td>
             </tr>
             <tr>
                 <td class="role">Fixture Secretary</td>
                 <td><script language="javascript">
         document.write(mailTo("fixturesec", "", "", "Jeremy Hicks"));
     </script>
     <noscript>Jeremy Hicks<i> (Javascript not enabled: cannot display mail link)</i>
     </noscript></td>
             </tr>
             <tr>
                 <td class="role">Webmaster</td>
                 <td><script language="javascript">
         document.write(mailTo("website", "", "", "Jeremy Hicks"));
     </script>
     <noscript>Jeremy Hicks<i> (Javascript not enabled: cannot display mail link)</i>
     </noscript></td>
             </tr>
         </tbody>
     </table>
     """
     self.assertMultiLineEqual(expectedResult, result)