def factory_invitation_model(session, status, sent_date=datetime.now()): """Produce a templated invitation model.""" user = User(username='******', roles='{edit, uma_authorization, staff}', keycloak_guid='1b20db59-19a0-4727-affe-c6f64309fd04') session.add(user) session.commit() org_type = OrgTypeModel(code='TEST', desc='Test') session.add(org_type) session.commit() org_status = OrgStatusModel(code='TEST', desc='Test') session.add(org_status) session.commit() preferred_payment = PaymentTypeModel(code='TEST', desc='Test') session.add(preferred_payment) session.commit() org = OrgModel() org.name = 'Test Org' org.org_type = org_type org.org_status = org_status org.preferred_payment = preferred_payment org.save() invitation = InvitationModel() invitation.recipient_email = '*****@*****.**' invitation.sender = user invitation.sent_date = sent_date invitation.invitation_status_code = status invitation.token = 'ABCD' invitation_membership = InvitationMembershipModel() invitation_membership.org_id = org.id invitation_membership.membership_type_code = 'USER' invitation.membership.append(invitation_membership) invitation.save() return invitation
def test_create_from_dict(session): # pylint:disable=unused-argument """Assert that an Entity can be created from schema.""" user = User(username='******', roles='{edit, uma_authorization, staff}', keycloak_guid='1b20db59-19a0-4727-affe-c6f64309fd04') session.add(user) session.commit() org_type = OrgTypeModel(code='TEST', desc='Test') session.add(org_type) session.commit() org_status = OrgStatusModel(code='TEST', desc='Test') session.add(org_status) session.commit() preferred_payment = PaymentTypeModel(code='TEST', desc='Test') session.add(preferred_payment) session.commit() org = OrgModel() org.name = 'Test Org' org.org_type = org_type org.org_status = org_status org.preferred_payment = preferred_payment org.save() invitation_info = { 'recipientEmail': '*****@*****.**', 'membership': [{ 'membershipType': 'USER', 'orgId': org.id }] } result_invitation = InvitationModel.create_from_dict( invitation_info, user.id, 'STANDARD') assert result_invitation.id is not None