Logo: Relish

  1. Sign in

Project: My-project

Provision Agency

As a Platform Admin
I want to provision a new Agency/Owner Portal/Tenant Portal/Community
-
Realms are isolated units that used to host a namespace.
A realm can be created given some basic setup.
A user is also invited to become an admin of the realm once the realm is created,
which he/she needs to accept the invite or chooses to transfer the invitation.

As part of the realm provision, a request to create a subdomain will also be created.

Background
Given
a platform with all its required templates have already been provisioned
Scenarios
Platform Admin provisions an agency specifying an invitation template

Here, when an agency is provisioned successfully, the agency admin will receive
an email invitation and an sms containing a secret password that is needed to accept the invite.
Please see an example of templates required to provision an agency.

Given
a "Provision Agency" job version "1" is invoked with the following uic:
targets attributes
<ns>;Platform;<platform_id>;1
<ns>;Template;<agency_template_id>;1
<ns>;Template;<invitation_template_id>;1
<ns>;Template;<setup_agency_template_id>;1
<ns>;Realm;<realm_id>;0 <realm_id>;url_subdomain;powerestate
<realm_id>;url_rootdomain;apmasphere.com
<realm_id>;name;Power Estate
<ns>;InvitationToken;<invitation_token_id>;0 <invitation_token_id>;display_name;John Depot
<invitation_token_id>;firstname;John
<invitation_token_id>;lastname;Depot
<invitation_token_id>;email;[email protected]
<invitation_token_id>;mobile;0422123345
<invitation_token_id>;sender_email;[email protected]
<invitation_token_id>;sender_name;Nick Beagley
<invitation_token_id>;acceptance_url_prefix;http://invitation/join/
<invitation_token_id>;rejection_url_prefix;http://invitation/decline/
<ns>;UserProfile;<user_profile_id>;0 <user_profile_id>;fullname;John Depot
<user_profile_id>;firstname;John
<user_profile_id>;lastname;Depot
<ns>;Contact;<email_contact_id>;0 <email_contact_id>;type;email
<email_contact_id>;value;[email protected]
<email_contact_id>;preferred;true
<ns>;Contact;<mobile_contact_id>;0 <mobile_contact_id>;type;mobile
<mobile_contact_id>;value;0422123345
<mobile_contact_id>;preferred;true
And
'the Template with id <agency_template_id> is an agency template that contains default values for an Agency'
And
'the Template with id <invitation_template_id> is an invitation template that contains default values for the email and sms content of the invitation'
When
the request to "Provision Agency" is received
Then
a new "Realm" will be created with:
attribute value
domain_obj_id <realm_id>
domain_obj_state pending_admin
name Power Estate
type Agency
domain_obj_parent Platform;<platform_id>;<ns>
bounce_url www.apmasphere.com
And
the "Realm" will have a :invitations attached
And
the "Realm" will have a :user_profiles attached
And
the "Realm" will have a :notification_group attached
And
the "NotificationGroup" will have under it:
EventNotification
:user_invited_event_notification
:invitation_declined_event_notification
:invitation_accepted_event_notification
:user_logged_in_event_notification
:user_suspended_event_notification
And
'John Depot will be invited to be the admin of this agency - see output for #InviteUser'

Last published over 7 years ago by nbeagley.