def test_make(self): """Test make method.""" user = mocks.create_user() parent_inst = mocks.create_institution() parent_inst.admin = user.key user.add_institution_admin(parent_inst.key) user.put() parent_inst.put() second_user = mocks.create_user() data = { 'institution_key': parent_inst.key.urlsafe(), 'admin_key': user.key.urlsafe(), 'invitee': second_user.email[0], 'suggestion_institution_name': 'test' } invite = InviteInstitutionChildren.create(data) invite.put() institution = parent_inst.make(InviteInstitutionChildren.INST_PROPS_TO_MAKE) expected_json = { 'admin_name': invite.admin_key.get().name, 'sender_name': invite.sender_name, 'key': invite.key.urlsafe(), 'institution_admin': parent_inst.make(['name']), 'institution': institution, 'invitee': invite.invitee, 'suggestion_institution_name': invite.suggestion_institution_name, 'stub_institution': Institution.make(invite.stub_institution_key.get(), ['name', 'key', 'state']), 'type_of_invite': 'INSTITUTION_CHILDREN', 'status': 'sent' } self.assertEquals(expected_json, invite.make())
def parentToJson(obj): """Return json with parent institution.""" if(obj.parent_institution): parent_institution = obj.parent_institution.get() institution_parent_json = Institution.make(parent_institution, [ 'name', 'key', 'state', 'invite', 'photo_url', 'acronym']) institution_parent_json['children_institutions'] = childrenToJson(parent_institution) return institution_parent_json
def childrenToJson(obj): """Return the array with json from institution that are obj children.""" json = [ Institution.make(institution.get(), [ 'name', 'photo_url', 'key', 'state', 'invite', 'parent_institution', 'acronym' ]) for institution in obj.children_institutions ] return json
def get(self, user, url_string): """Handle GET Requests.""" obj_key = ndb.Key(urlsafe=url_string) obj = obj_key.get() Utils._assert(obj.state == 'inactive', "The institution has been deleted", NotAuthorizedException) assert type(obj) is Institution, "Key is not an Institution" institution_json = Utils.toJson(obj, host=self.request.host) if (obj.admin): institution_json['admin'] = adminToJson(obj.admin.get()) if (obj.invite): institution_json['invite'] = Institution.make(obj, ["invite"]) institution_json['sent_invitations'] = getSentInvitations(obj.key) institution_json['parent_institution'] = parentToJson(obj) institution_json['children_institutions'] = childrenToJson(obj) institution_json['cover_photo'] = obj.cover_photo self.response.write(json.dumps(institution_json))