def test_dict_org(self): """_dict_org turns our org structure into a json payload.""" expected_single_org_payload = { "sub_orgs": [], "owners": [ {"first_name": u"Johnny", "last_name": u"Energy", "email": u"*****@*****.**", "id": self.user.pk} ], "number_of_users": 1, "name": "my org", "user_role": "owner", "is_parent": True, "org_id": self.org.pk, "id": self.org.pk, "user_is_owner": True, "num_buildings": 0, } org_payload = _dict_org(self.fake_request, [self.org]) self.assertEqual(len(org_payload), 1) self.assertDictEqual(org_payload[0], expected_single_org_payload) # Now let's make sure that we pick up related buildings correctly. for x in range(10): can = CanonicalBuilding.objects.create() snap = BuildingSnapshot.objects.create() snap.super_organization = self.org snap.save() can.canonical_snapshot = snap can.save() expected_single_org_payload["num_buildings"] = 10 self.assertDictEqual(_dict_org(self.fake_request, [self.org])[0], expected_single_org_payload)
def test_dict_org(self): """_dict_org turns our org structure into a json payload.""" expected_single_org_payload = { 'sub_orgs': [], 'owners': [{ 'first_name': u'Johnny', 'last_name': u'Energy', 'email': u'*****@*****.**', 'id': self.user.pk }], 'number_of_users': 1, 'name': 'my org', 'user_role': 'owner', 'is_parent': True, 'org_id': self.org.pk, 'id': self.org.pk, 'user_is_owner': True, 'num_buildings': 0 } org_payload = _dict_org(self.fake_request, [self.org]) self.assertEqual(len(org_payload), 1) self.assertDictEqual(org_payload[0], expected_single_org_payload) # Now let's make sure that we pick up related buildings correctly. for x in range(10): can = CanonicalBuilding.objects.create() snap = BuildingSnapshot.objects.create() snap.super_organization = self.org snap.save() can.canonical_snapshot = snap can.save() expected_single_org_payload['num_buildings'] = 10 self.assertDictEqual( _dict_org(self.fake_request, [self.org])[0], expected_single_org_payload)
def test_dict_org(self): """_dict_org turns our org structure into a json payload.""" expected_single_org_payload = { 'sub_orgs': [], 'owners': [{ 'first_name': u'Johnny', 'last_name': u'Energy', 'email': u'*****@*****.**', 'id': self.user.pk }], 'number_of_users': 1, 'name': 'my org', 'user_role': 'owner', 'is_parent': True, 'org_id': self.org.pk, 'id': self.org.pk, 'user_is_owner': True, 'num_buildings': 0 } org_payload = _dict_org(self.fake_request, [self.org]) self.assertEqual(len(org_payload), 1) self.assertDictEqual(org_payload[0], expected_single_org_payload) # Now let's make sure that we pick up related buildings correctly. for x in range(10): can = CanonicalBuilding.objects.create() snap = BuildingSnapshot.objects.create() snap.super_organization = self.org snap.save() can.canonical_snapshot = snap can.save() expected_single_org_payload['num_buildings'] = 10 self.assertDictEqual( _dict_org(self.fake_request, [self.org])[0], expected_single_org_payload )
def test_dic_org_w_member_in_parent_and_child(self): """What happens when a user has a role in parent and child.""" new_org = Organization.objects.create(name="sub") expected_multiple_org_payload = { 'sub_orgs': [{ 'owners': [{ 'first_name': u'Johnny', 'last_name': u'Energy', 'email': u'*****@*****.**', 'id': self.user.pk }], 'number_of_users': 1, 'name': 'sub', 'sub_orgs': [], 'user_role': 'owner', 'is_parent': False, 'org_id': new_org.pk, 'id': new_org.pk, 'user_is_owner': True, 'num_buildings': 0, 'created': new_org.created.strftime('%Y-%m-%d') }], 'owners': [{ 'first_name': u'Johnny', 'last_name': u'Energy', 'email': u'*****@*****.**', 'id': self.user.pk }], 'number_of_users': 1, 'name': 'my org', 'user_role': 'owner', 'is_parent': True, 'org_id': self.org.pk, 'id': self.org.pk, 'user_is_owner': True, 'num_buildings': 0, 'created': self.org.created.strftime('%Y-%m-%d') } new_org.parent_org = self.org new_org.save() new_org.add_member(self.user) org_payload = _dict_org(self.fake_request, Organization.objects.all()) self.assertEqual(len(org_payload), 2) self.assertEqual(org_payload[0], expected_multiple_org_payload)
def test_dic_org_w_member_in_parent_and_child(self): """What happens when a user has a role in parent and child.""" new_org = Organization.objects.create(name="sub") expected_multiple_org_payload = { "sub_orgs": [ { "owners": [ { "first_name": u"Johnny", "last_name": u"Energy", "email": u"*****@*****.**", "id": self.user.pk, } ], "number_of_users": 1, "name": "sub", "sub_orgs": [], "user_role": "owner", "is_parent": False, "org_id": new_org.pk, "id": new_org.pk, "user_is_owner": True, "num_buildings": 0, } ], "owners": [ {"first_name": u"Johnny", "last_name": u"Energy", "email": u"*****@*****.**", "id": self.user.pk} ], "number_of_users": 1, "name": "my org", "user_role": "owner", "is_parent": True, "org_id": self.org.pk, "id": self.org.pk, "user_is_owner": True, "num_buildings": 0, } new_org.parent_org = self.org new_org.save() new_org.add_member(self.user) org_payload = _dict_org(self.fake_request, Organization.objects.all()) self.assertEqual(len(org_payload), 2) self.assertEqual(org_payload[0], expected_multiple_org_payload)
def test_dic_org_w_member_in_parent_and_child(self): """What happens when a user has a role in parent and child.""" new_org = Organization.objects.create(name="sub") expected_multiple_org_payload = { 'sub_orgs': [{ 'owners': [{ 'first_name': u'Johnny', 'last_name': u'Energy', 'email': u'*****@*****.**', 'id': self.user.pk }], 'number_of_users': 1, 'name': 'sub', 'sub_orgs': [], 'user_role': 'owner', 'is_parent': False, 'org_id': new_org.pk, 'id': new_org.pk, 'user_is_owner': True, 'num_buildings': 0, }], 'owners': [{ 'first_name': u'Johnny', 'last_name': u'Energy', 'email': u'*****@*****.**', 'id': self.user.pk }], 'number_of_users': 1, 'name': 'my org', 'user_role': 'owner', 'is_parent': True, 'org_id': self.org.pk, 'id': self.org.pk, 'user_is_owner': True, 'num_buildings': 0 } new_org.parent_org = self.org new_org.save() new_org.add_member(self.user) org_payload = _dict_org(self.fake_request, Organization.objects.all()) self.assertEqual(len(org_payload), 2) self.assertEqual(org_payload[0], expected_multiple_org_payload)