Example #1
0
 def setUp(self):
     self.subject = JavascriptRegionCloneMixin()
     self.region_clone_key = 'founders'
     self.test_items = json.loads('{"founders": {                \
                                     "founder_email_2": {        \
                                       "id": "founder_email_2",  \
                                       "val": "*****@*****.**", \
                                       "name": "founder_email_2" \
                                     },                          \
                                     "founder_email_1": {        \
                                       "id": "founder_email_1",  \
                                       "val": "*****@*****.**", \
                                       "name": "founder_email_1" \
                                     },                          \
                                     "founder_name": {           \
                                       "id": "founder_name",     \
                                       "val": "Ross Crawford",   \
                                       "name": "founder_name"    \
                                     },                          \
                                     "founder_name_2": {         \
                                       "id": "founder_name_2",   \
                                       "val": "Yael",            \
                                       "name": "founder_name_2"  \
                                     },                          \
                                     "founder_name_1": {         \
                                       "id": "founder_name_1",   \
                                       "val": "Alex Halliday",   \
                                       "name": "founder_name_1"  \
                                     },                          \
                                     "founder_email": {          \
                                       "id": "founder_email",    \
                                       "val": "*****@*****.**", \
                                       "name": "founder_email" } \
                                     }                           \
                                 }')
Example #2
0
class TestJavascriptRegionCloneMixin(unittest.TestCase):
    def setUp(self):
        self.subject = JavascriptRegionCloneMixin()
        self.region_clone_key = 'founders'
        self.test_items = json.loads('{"founders": {                \
                                        "founder_email_2": {        \
                                          "id": "founder_email_2",  \
                                          "val": "*****@*****.**", \
                                          "name": "founder_email_2" \
                                        },                          \
                                        "founder_email_1": {        \
                                          "id": "founder_email_1",  \
                                          "val": "*****@*****.**", \
                                          "name": "founder_email_1" \
                                        },                          \
                                        "founder_name": {           \
                                          "id": "founder_name",     \
                                          "val": "Ross Crawford",   \
                                          "name": "founder_name"    \
                                        },                          \
                                        "founder_name_2": {         \
                                          "id": "founder_name_2",   \
                                          "val": "Yael",            \
                                          "name": "founder_name_2"  \
                                        },                          \
                                        "founder_name_1": {         \
                                          "id": "founder_name_1",   \
                                          "val": "Alex Halliday",   \
                                          "name": "founder_name_1"  \
                                        },                          \
                                        "founder_email": {          \
                                          "id": "founder_email",    \
                                          "val": "*****@*****.**", \
                                          "name": "founder_email" } \
                                        }                           \
                                    }')

    def test_parse_repeater_dict(self):
        """
        test the primary entry point
        """
        res = self.subject.parse_repeater_dict(items=self.test_items.get(self.region_clone_key))
        self.assertEqual(type(res), list)  # we get a list returned
        self.assertEqual(len(res), 3)  # of 3 objects

        for i in res:
            self.assertEqual(type(i), dict)  # the items are dicts
            self.assertEqual(len(i.keys()), 2) # we should have 2 keys per object: 'founder_email', 'founder_name'
            # ensure that we only have the corrected item keys
            self.assertEqual(i.keys(), ['founder_email', 'founder_name'])
            # ensure that we DONT have the original sequence keys present
            self.assertTrue(['founder_name_1', 'founder_name_2', 'founder_email_1', 'founder_email_2'] not in i.keys())

    def test_extract_repeater_values(self):
        pass