chore(ui): Add notification for default persona change (#23502)

* chore(ui): Add notification for default persona change

* add key in params
This commit is contained in:
Harshit Shah 2025-09-23 10:01:41 +05:30 committed by Harshit Shah
parent 46de9170c6
commit 7af8e686ce
22 changed files with 45 additions and 2 deletions

View File

@ -23,6 +23,7 @@ import { UserClass } from '../../support/user/UserClass';
import { performAdminLogin } from '../../utils/admin';
import {
redirectToHomePage,
toastNotification,
uuid,
visitOwnProfilePage,
} from '../../utils/common';
@ -949,6 +950,9 @@ test.describe('User Profile Dropdown Persona Interactions', () => {
.click();
await adminPage.waitForResponse('/api/v1/users/*');
// Verify NO notification appears when removing default persona
await expect(adminPage.getByTestId('alert-bar')).not.toBeVisible();
// Verify "No default persona" message appears
await expect(adminPage.getByText('No default persona')).toBeVisible();
@ -1174,6 +1178,13 @@ test.describe('User Profile Persona Interactions', () => {
// Wait for the API call to complete and default persona to appear
await adminPage.waitForResponse('/api/v1/users/*');
// Check that success notification appears with correct message
await toastNotification(
adminPage,
`Your Default Persona changed to ${persona1.data.displayName}`
);
await adminPage.waitForSelector(
'.default-persona-text [data-testid="tag-chip"]'
);
@ -1240,6 +1251,9 @@ test.describe('User Profile Persona Interactions', () => {
// Wait for the API call to complete and verify no default persona is shown
await defaultPersonaChangeResponse;
// Verify NO notification appears when removing default persona
await expect(adminPage.getByTestId('alert-bar')).not.toBeVisible();
await expect(adminPage.getByText('No default persona')).toBeVisible();
});
});

View File

@ -218,7 +218,7 @@ export const PersonaSelectableList = ({
tagRender={TagRenderer}
onChange={(selectedIds) => {
const selectedPersonasList = selectOptions.filter((persona) =>
selectedIds.includes(persona.id)
selectedIds?.includes(persona.id)
);
setCurrentlySelectedPersonas(selectedPersonasList);
}}

View File

@ -2063,6 +2063,7 @@
"field-timeout-description": "Verbindungszeitüberschreitung",
"field-use-aws-credentials-description": "Gibt an, ob AWS-Anmeldeinformationen verwendet werden sollen, wenn eine Verbindung zu OpenSearch in AWS hergestellt wird.",
"field-use-ssl-description": "Dies gibt an, ob SSL bei der Verbindung mit Elasticsearch verwendet werden soll. Standardmäßig werden SSL-Einstellungen ignoriert.",
"field-value-updated-notification": "Ihr {{fieldName}} wurde zu {{fieldValue}} geändert",
"field-verify-certs-description": "Dies gibt an, ob Zertifikate bei Verwendung einer SSL-Verbindung zu Elasticsearch überprüft werden sollen. Standardmäßig wird dies ignoriert und auf true gesetzt. Stellen Sie sicher, dass Sie die Zertifikate in der Eigenschaft 'CA-Zertifikate' senden.",
"filter-pattern-include-exclude-info": "Schließen Sie explizit {{filterPattern}} durch Hinzufügen einer Liste von durch Kommas getrennten regulären Ausdrücken {{activity}} ein oder aus.",
"filter-pattern-info": "Wählen Sie aus, ob {{filterPattern}} als Teil der Metadaten-Erfassung ein- oder ausgeschlossen werden soll.",

View File

@ -2063,6 +2063,7 @@
"field-timeout-description": "Connection Timeout",
"field-use-aws-credentials-description": "Indicates whether to use AWS credentials when connecting to OpenSearch in AWS.",
"field-use-ssl-description": "This indicates whether to use SSL when connecting to Elasticsearch. By default, we will ignore SSL settings.",
"field-value-updated-notification": "Your {{fieldName}} changed to {{fieldValue}}",
"field-verify-certs-description": "This indicates whether to verify certificates when using SSL connection to Elasticsearch. It's ignored by default and is set to true. Ensure that you send the certificates in the property `CA Certificates`.",
"filter-pattern-include-exclude-info": "Explicitly {{activity}} {{filterPattern}} by adding a list of comma-separated regex.",
"filter-pattern-info": "Choose to include or exclude {{filterPattern}} as part of the metadata ingestion.",

View File

@ -2063,6 +2063,7 @@
"field-timeout-description": "Tiempo de espera de conexión",
"field-use-aws-credentials-description": "Indica si se deben usar las credenciales de AWS al conectarse a OpenSearch en AWS.",
"field-use-ssl-description": "Esto indica si se debe usar SSL al conectarse a Elasticsearch. Por defecto, ignoraremos la configuración SSL.",
"field-value-updated-notification": "Tu {{fieldName}} cambió a {{fieldValue}}",
"field-verify-certs-description": "Esto indica si debemos verificar los certificados al usar una conexión SSL con Elasticsearch. Por defecto se ignoran. Asegúrese de enviar los certificados en la propiedad Certificados CA.",
"filter-pattern-include-exclude-info": "Excluya o incluya explícitamente {{filterPattern}} mediante la adición de una lista de expresiones regulares separadas por comas.",
"filter-pattern-info": "Elija incluir o excluir {{filterPattern}} como parte de la ingestión de metadatos.",

View File

@ -2063,6 +2063,7 @@
"field-timeout-description": "Délais d'attente de la connexion atteint",
"field-use-aws-credentials-description": "Indique si les identifiants AWS doivent être utilisés lors de la connexion à OpenSearch dans AWS.",
"field-use-ssl-description": "Indique si le protocole SSL est utilisé lors de la connexion a ElasticSearch. Par défaut, les réglages SSL seront ignorés.",
"field-value-updated-notification": "Votre {{fieldName}} a changé en {{fieldValue}}",
"field-verify-certs-description": "Indique si les certificats doivent être vérifiés lors de l'utilisation du protocole SSL pour la connexion à ElasticSearch. Ignoré par défaut. Si \"true\" est sélectionné, le certificat doit être passé dans `CA Certificates`.",
"filter-pattern-include-exclude-info": "Explicitement {{filterPattern}} {{activity}} en ajoutant une liste d'expressions régulières séparées par des virgules.",
"filter-pattern-info": "Choisir d'inclure ou d'exclure {{filterPattern}} en tant que partie de l'ingestion de métadonnées.",

View File

@ -2063,6 +2063,7 @@
"field-timeout-description": "Tempo de espera da conexión",
"field-use-aws-credentials-description": "Indica se se deben usar credenciais de AWS ao conectar con OpenSearch en AWS.",
"field-use-ssl-description": "Indica se se debe usar SSL ao conectar con Elasticsearch. Por defecto, ignoraremos a configuración de SSL.",
"field-value-updated-notification": "O teu {{fieldName}} cambiou a {{fieldValue}}",
"field-verify-certs-description": "Indica se se deben verificar certificados ao usar conexión SSL con Elasticsearch. Por defecto, está ignorado e establecido en verdadeiro. Asegúrate de enviar os certificados na propiedade 'Certificados CA'.",
"filter-pattern-include-exclude-info": "{{activity}} explícitamente {{filterPattern}} engadindo unha lista de regex separados por comas.",
"filter-pattern-info": "Escolle incluir ou excluír {{filterPattern}} como parte da inxestión de metadatos.",

View File

@ -2063,6 +2063,7 @@
"field-timeout-description": "זמן קישור",
"field-use-aws-credentials-description": "מציין האם להשתמש ב-Credentials של AWS בעת התחברות ל-OpenSearch ב-AWS.",
"field-use-ssl-description": "מציין האם להשתמש ב-SSL בעת התחברות ל-Elasticsearch. לפי ברירת מחדל, נתעלם מהגדרות ה-SSL.",
"field-value-updated-notification": "{{fieldName}} שלך השתנה ל-{{fieldValue}}",
"field-verify-certs-description": "מציין האם לאמת תעוזיות בעת שימוש בחיבור SSL ל-Elasticsearch. נתעלם מברירת המחדל ומוגדר ל-true. וודא שאתה שולח את התעוזיות במאפיין `CA Certificates`.",
"filter-pattern-include-exclude-info": "הגדר {{activity}} באופן מפורש {{filterPattern}} על ידי הוספת רשימה של רגקס מופרדות בפסיקים.",
"filter-pattern-info": "בחר לכלול או לא לכלול {{filterPattern}} כחלק מתהליך הקליטה של המטא-דאטה.",

View File

@ -2063,6 +2063,7 @@
"field-timeout-description": "接続タイムアウト時間",
"field-use-aws-credentials-description": "AWS 上の OpenSearch 接続時に AWS 認証情報を使用するかどうかを指定します。",
"field-use-ssl-description": "Elasticsearch に接続する際に SSL を使用するかを指定します(デフォルトでは SSL 設定は無視されます)。",
"field-value-updated-notification": "あなたの{{fieldName}}が{{fieldValue}}に変更されました",
"field-verify-certs-description": "Elasticsearch への SSL 接続時に証明書を検証するかどうかを指定します。デフォルトでは無視され true になります。`CA Certificates` プロパティに証明書を渡してください。",
"filter-pattern-include-exclude-info": "カンマ区切りの正規表現リストを追加することで、{{filterPattern}} を明示的に {{activity}} します。",
"filter-pattern-info": "メタデータ取り込み時に {{filterPattern}} を含めるか除外するかを設定します。",

View File

@ -2063,6 +2063,7 @@
"field-timeout-description": "연결 시간 초과",
"field-use-aws-credentials-description": "AWS의 OpenSearch에 연결할 때 AWS 자격 증명을 사용할지 여부를 나타냅니다.",
"field-use-ssl-description": "Elasticsearch에 연결할 때 SSL을 사용할지 여부를 나타냅니다. 기본적으로 SSL 설정은 무시됩니다.",
"field-value-updated-notification": "{{fieldName}}이(가) {{fieldValue}}(으)로 변경되었습니다",
"field-verify-certs-description": "Elasticsearch에 SSL 연결을 사용할 때 인증서를 확인할지 여부를 나타냅니다. 기본적으로 무시되며 true로 설정됩니다. 'CA 인증서' 속성에 인증서를 보내야 합니다.",
"filter-pattern-include-exclude-info": "쉼표로 구분된 정규식 목록을 추가하여 {{filterPattern}}을(를) 명시적으로 {{activity}}하세요.",
"filter-pattern-info": "메타데이터 수집의 일부로 {{filterPattern}}을(를) 포함하거나 제외하도록 선택하세요.",

View File

@ -2063,6 +2063,7 @@
"field-timeout-description": "कनेक्शन टाइमआउट",
"field-use-aws-credentials-description": "AWS मध्ये OpenSearch शी कनेक्ट करताना AWS क्रेडेन्शियल्स वापरायचे की नाही हे दर्शवते.",
"field-use-ssl-description": "Elasticsearch शी कनेक्ट करताना SSL वापरायचे की नाही हे दर्शवते. डीफॉल्टनुसार, आम्ही SSL सेटिंग्ज दुर्लक्ष करू.",
"field-value-updated-notification": "तुमचे {{fieldName}} {{fieldValue}} मध्ये बदलले",
"field-verify-certs-description": "Elasticsearch शी SSL कनेक्शन वापरताना प्रमाणपत्रे सत्यापित करायची की नाही हे दर्शवते. डीफॉल्टनुसार हे दुर्लक्ष केले जाते आणि ते सत्य आहे. कृपया 'CA प्रमाणपत्रे' गुणधर्मात प्रमाणपत्रे पाठवा.",
"filter-pattern-include-exclude-info": "स्वल्पविराम-विभक्त regex यादी जोडून स्पष्टपणे {{activity}} {{filterPattern}}.",
"filter-pattern-info": "मेटाडेटा अंतर्ग्रहणाचा भाग म्हणून {{filterPattern}} समाविष्ट किंवा वगळण्याचा पर्याय निवडा.",

View File

@ -2063,6 +2063,7 @@
"field-timeout-description": "Verbindingstime-out",
"field-use-aws-credentials-description": "Geeft aan of AWS-inloggegevens moeten worden gebruikt bij het verbinden met OpenSearch in AWS.",
"field-use-ssl-description": "Dit geeft aan of SSL moet worden gebruikt bij het verbinden met Elasticsearch. Standaard negeren we SSL-instellingen.",
"field-value-updated-notification": "Uw {{fieldName}} is gewijzigd naar {{fieldValue}}",
"field-verify-certs-description": "Dit geeft aan of certificaten moeten worden geverifieerd bij het gebruik van een SSL-connectie met Elasticsearch. Het wordt standaard genegeerd en is ingesteld op true. Zorg ervoor dat je de certificaten in de eigenschap 'CA-certificaten' verzendt.",
"filter-pattern-include-exclude-info": "Expliciet {{activity}} {{filterPattern}} door een lijst met door komma's gescheiden regex toe te voegen.",
"filter-pattern-info": "Kies ervoor om {{filterPattern}} wel of niet op te nemen als onderdeel van de metadataingestie.",

View File

@ -2063,6 +2063,7 @@
"field-timeout-description": "زمان انتظار اتصال",
"field-use-aws-credentials-description": "مشخص می‌کند که آیا باید هنگام اتصال به OpenSearch در AWS از اعتبارنامه‌های AWS استفاده شود یا خیر.",
"field-use-ssl-description": "این مشخص می‌کند که آیا هنگام اتصال به Elasticsearch باید از SSL استفاده کرد یا خیر. به‌طور پیش‌فرض، تنظیمات SSL نادیده گرفته می‌شود.",
"field-value-updated-notification": "{{fieldName}} شما به {{fieldValue}} تغییر کرد",
"field-verify-certs-description": "این مشخص می‌کند که آیا باید هنگام استفاده از اتصال SSL گواهینامه‌ها را بررسی کرد یا خیر. به‌طور پیش‌فرض نادیده گرفته می‌شود و روی true تنظیم شده است. اطمینان حاصل کنید که گواهینامه‌ها را در ویژگی 'گواهینامه‌های CA' ارسال می‌کنید.",
"filter-pattern-include-exclude-info": "{{activity}} {{filterPattern}} به‌طور صریح با افزودن لیستی از regex جدا شده با کاما.",
"filter-pattern-info": "انتخاب کنید که آیا می‌خواهید {{filterPattern}} را به عنوان بخشی از استخراج متادیتا شامل کنید یا حذف کنید.",

View File

@ -2063,6 +2063,7 @@
"field-timeout-description": "Tempo Limite de Conexão",
"field-use-aws-credentials-description": "Indica se deve usar credenciais AWS ao conectar ao OpenSearch na AWS.",
"field-use-ssl-description": "Isso indica se deve usar SSL ao conectar ao Elasticsearch. Por padrão, ignoraremos as configurações de SSL.",
"field-value-updated-notification": "Seu {{fieldName}} mudou para {{fieldValue}}",
"field-verify-certs-description": "Isso indica se deve verificar certificados ao usar conexão SSL com o Elasticsearch. É ignorado por padrão e está definido como verdadeiro. Certifique-se de enviar os certificados na propriedade `Certificados CA`.",
"filter-pattern-include-exclude-info": "Explicitamente {{activity}} {{filterPattern}} adicionando uma lista de regex separados por vírgula.",
"filter-pattern-info": "Escolha incluir ou excluir {{filterPattern}} como parte da ingestão de metadados.",

View File

@ -2063,6 +2063,7 @@
"field-timeout-description": "Tempo Limite de Conexão",
"field-use-aws-credentials-description": "Indica se deve usar credenciais AWS ao conectar ao OpenSearch na AWS.",
"field-use-ssl-description": "Isso indica se deve usar SSL ao conectar ao Elasticsearch. Por padrão, ignoraremos as configurações de SSL.",
"field-value-updated-notification": "O seu {{fieldName}} mudou para {{fieldValue}}",
"field-verify-certs-description": "Isso indica se deve verificar certificados ao usar conexão SSL com o Elasticsearch. É ignorado por padrão e está definido como verdadeiro. Certifique-se de enviar os certificados na propriedade `Certificados CA`.",
"filter-pattern-include-exclude-info": "Explicitamente {{activity}} {{filterPattern}} adicionando uma lista de regex separados por vírgula.",
"filter-pattern-info": "Escolha incluir ou excluir {{filterPattern}} como parte da ingestão de metadados.",

View File

@ -2063,6 +2063,7 @@
"field-timeout-description": "Время соединения вышло",
"field-use-aws-credentials-description": "Указывает, следует ли использовать учетные данные AWS при подключении к OpenSearch в AWS.",
"field-use-ssl-description": "Указывает, следует ли использовать SSL при подключении к Elasticsearch. По умолчанию мы будем игнорировать настройки SSL.",
"field-value-updated-notification": "Ваш {{fieldName}} изменен на {{fieldValue}}",
"field-verify-certs-description": "Указывает, следует ли проверять сертификаты при использовании SSL-подключения к Elasticsearch. По умолчанию игнорируется и имеет значение true. Убедитесь, что вы отправляете сертификаты в свойстве «Сертификаты ЦС».",
"filter-pattern-include-exclude-info": "{{activity}} {{filterPattern}} путем добавления списка регулярных выражений, разделенных запятыми.",
"filter-pattern-info": "Выберите, следует ли включить или исключить {{filterPattern}} при приеме метаданных.",

View File

@ -2063,6 +2063,7 @@
"field-timeout-description": "หมดเวลาการเชื่อมต่อ",
"field-use-aws-credentials-description": "บ่งชี้ว่าต้องการใช้ข้อมูลประจำตัว AWS เมื่อเชื่อมต่อกับ OpenSearch ใน AWS หรือไม่",
"field-use-ssl-description": "บ่งชี้ว่าต้องการใช้ SSL เมื่อเชื่อมต่อกับ Elasticsearch หรือไม่ โดยค่าเริ่มต้น เราจะไม่สนใจการตั้งค่า SSL",
"field-value-updated-notification": "{{fieldName}} ของคุณเปลี่ยนเป็น {{fieldValue}}",
"field-verify-certs-description": "บ่งชี้ว่าต้องการตรวจสอบใบรับรองเมื่อใช้การเชื่อมต่อ SSL กับ Elasticsearch หรือไม่ โดยค่าเริ่มต้นมันจะถูกละเลยและตั้งค่าเป็น true ตรวจสอบให้แน่ใจว่าคุณได้ส่งใบรับรองในคุณสมบัติ `CA Certificates`",
"filter-pattern-include-exclude-info": "เพิ่มหรือเรียงลำดับ {{activity}} {{filterPattern}} โดยการเพิ่มรายการของ regex ที่แยกด้วยเครื่องหมายจุลภาค",
"filter-pattern-info": "เลือกที่จะรวมเข้าหรือยกเว้น {{filterPattern}} เป็นส่วนหนึ่งของการนำเข้าข้อมูลเมตา",

View File

@ -2063,6 +2063,7 @@
"field-timeout-description": "Bağlantı Zaman Aşımı",
"field-use-aws-credentials-description": "AWS'deki OpenSearch'e bağlanırken AWS kimlik bilgilerinin kullanılıp kullanılmayacağını gösterir.",
"field-use-ssl-description": "Bu, Elasticsearch'e bağlanırken SSL kullanılıp kullanılmayacağını gösterir. Varsayılan olarak SSL ayarlarını yok sayacağız.",
"field-value-updated-notification": "{{fieldName}} değeriniz {{fieldValue}} olarak değişti",
"field-verify-certs-description": "Bu, Elasticsearch'e SSL bağlantısı kullanılırken sertifikaların doğrulanıp doğrulanmayacağını gösterir. Varsayılan olarak yok sayılır ve true olarak ayarlanır. Sertifikaları `CA Sertifikaları` özelliğinde gönderdiğinizden emin olun.",
"filter-pattern-include-exclude-info": "Virgülle ayrılmış bir regex listesi ekleyerek {{filterPattern}} öğesini açıkça {{activity}}.",
"filter-pattern-info": "Metadata alımının bir parçası olarak {{filterPattern}} dahil etmeyi veya hariç tutmayı seçin.",

View File

@ -2063,6 +2063,7 @@
"field-timeout-description": "连接超时",
"field-use-aws-credentials-description": "指示连接到 AWS 中的 OpenSearch 时是否使用 AWS 凭证",
"field-use-ssl-description": "指示在连接到 Elasticsearch 时是否使用 SSL, 默认情况下忽略 SSL 设置",
"field-value-updated-notification": "您的{{fieldName}}已更改为{{fieldValue}}",
"field-verify-certs-description": "指示在使用 SSL 连接到 Elasticsearch 时是否验证证书, 默认情况下忽略。如果设置为 true, 请确保将证书设置到“CA 证书”属性中",
"filter-pattern-include-exclude-info": "通过添加逗号分隔的正则表达式列表明确{{activity}} {{filterPattern}}",
"filter-pattern-info": "选择包含或排除{{filterPattern}}作为元数据提取的一部分",

View File

@ -2063,6 +2063,7 @@
"field-timeout-description": "連線逾時",
"field-use-aws-credentials-description": "指出在連線到 AWS 中的 OpenSearch 時是否使用 AWS 憑證。",
"field-use-ssl-description": "這表示在連線到 Elasticsearch 時是否使用 SSL。預設情況下我們將忽略 SSL 設定。",
"field-value-updated-notification": "您的{{fieldName}}已更改為{{fieldValue}}",
"field-verify-certs-description": "這表示在使用 SSL 連線到 Elasticsearch 時是否驗證憑證。預設情況下會被忽略並設定為 true。請確保您在屬性 `CA 憑證` 中傳送憑證。",
"filter-pattern-include-exclude-info": "透過新增以逗號分隔的正規表示式清單,明確地 {{activity}} {{filterPattern}}。",
"filter-pattern-info": "選擇在元資料擷取中包含或排除 {{filterPattern}}。",

View File

@ -30,7 +30,7 @@ import { useApplicationStore } from '../../hooks/useApplicationStore';
import { useFqn } from '../../hooks/useFqn';
import { getUserByName, updateUserDetail } from '../../rest/userAPI';
import { Transi18next } from '../../utils/CommonUtils';
import { showErrorToast } from '../../utils/ToastUtils';
import { showErrorToast, showSuccessToast } from '../../utils/ToastUtils';
const UserPage = () => {
const navigate = useNavigate();
@ -149,6 +149,16 @@ const UserPage = () => {
// remove key from object if value is undefined
delete newCurrentUserData[key];
delete newUserData[key];
} else {
const personaName =
response.defaultPersona.displayName ||
response.defaultPersona.name;
showSuccessToast(
t('message.field-value-updated-notification', {
fieldName: t('label.default-persona'),
fieldValue: personaName,
})
);
}
}
if (userData.id === currentUser?.id) {

View File

@ -72,6 +72,7 @@ export type ListTestCaseParamsBySearch = ListTestCaseParams & {
tier?: string;
serviceName?: string;
dataQualityDimension?: string;
followedBy?: string;
};
export type ListTestDefinitionsParams = ListParams & {