Logo: Relish

  1. Sign in

Project: My-project

Update User Settings

As a user of the platform
I want to update my user settings

Background
Given
that a realm is active
Scenarios
Updating user's mobile number and/or email address
Given
a "Replace Contact" job version "1" is invoked with the following uic:
targets attributes
<ns>;UserProfile;<existing_user_profile_id>;1
<ns>;Contact;<new_email_contact_id>;0 <new_email_contact_id>;type;email
<new_email_contact_id>;value;[email protected]
<new_email_contact_id>;replaces;old_contact_id_that_we_are_updating
<new_email_contact_id>;preferred;true
<ns>;Contact;<new_mobile_contact_id>;0 <new_mobile_contact_id>;type;mobile
<new_mobile_contact_id>;value;0877362611
<new_mobile_contact_id>;replaces;old_contact_id_that_we_are_updating
<new_mobile_contact_id>;preferred;true
When
the request to "Replace Contact" is received
Then
a :new_email_contact will be created
And
a :new_mobile_contact will be created
Creating External Party the first time

This object is to store the status of the "linking" progress of any external party.
One use case of this is the linking of the user's oauth details.

Given
a "Create External Party" job version "1" is invoked with the following uic:
targets attributes
<ns>;UserProfile;<existing_user_profile_id>;1
<ns>;ExternalParty;<external_party_id>;0 <external_party_id>;type;oauth
<external_party_id>;provider;google
<external_party_id>;status;linking
When
the request to "Create External Party" is received
Then
the "ExternalParty" will be created with:
attribute value
type oauth
status linking
provider google
domain_obj_state active
Updating the status of the External Party

An example of this scenario is when the server has received information about the user's oauth details and now
it wants to update the progress of the oauth from linking to linked.

Given
a "Replace External Party" job version "1" is invoked with the following uic:
targets attributes
<ns>;UserProfile;<existing_user_profile_id>;1
<ns>;ExternalParty;<new_external_party_id>;0 <new_external_party_id>;type;oauth
<new_external_party_id>;provider;google
<new_external_party_id>;status;linked
<new_external_party_id>;reference_id;some_id
<new_external_party_id>;replaces;last_external_party_id
When
the request to "Replace External Party" is received
Then
a new "ExternalParty" will be created with:
attribute value
type oauth
status linked
provider google
reference_id some_id
domain_obj_state active
replaces last_external_party_id

Last published over 4 years ago by nbeagley.