/** * @license * Copyright (C) 2019 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import '../test/common-test-setup-karma.js'; import {getDisplayName, getUserName, getGroupDisplayName, getAccountDisplayName, _testOnly_accountEmail} from './display-name-util.js'; suite('display-name-utils tests', () => { // eslint-disable-next-line no-unused-vars const config = { user: { anonymous_coward_name: 'Anonymous Coward', }, }; test('getDisplayName name only', () => { const account = { name: 'test-name', }; assert.equal(getDisplayName(config, account), 'test-name'); }); test('getDisplayName prefer displayName', () => { const account = { name: 'test-name', display_name: 'better-name', }; assert.equal(getDisplayName(config, account), 'better-name'); }); test('getDisplayName prefer username default', () => { const account = { name: 'test-name', username: 'user-name', }; const config = { accounts: { default_display_name: 'USERNAME', }, }; assert.equal(getDisplayName(config, account), 'user-name'); }); test('getDisplayName firstNameOnly', () => { const account = { name: 'firstname lastname', }; assert.equal(getDisplayName(config, account, true), 'firstname'); }); test('getDisplayName prefer first name default', () => { const account = { name: 'firstname lastname', }; const config = { accounts: { default_display_name: 'FIRST_NAME', }, }; assert.equal(getDisplayName(config, account), 'firstname'); }); test('getDisplayName ignore leading whitespace for first name', () => { const account = { name: ' firstname lastname', }; const config = { accounts: { default_display_name: 'FIRST_NAME', }, }; assert.equal(getDisplayName(config, account), 'firstname'); }); test('getDisplayName full name default', () => { const account = { name: 'firstname lastname', }; const config = { accounts: { default_display_name: 'FULL_NAME', }, }; assert.equal(getDisplayName(config, account), 'firstname lastname'); }); test('getDisplayName name only', () => { const account = { name: 'test-name', }; assert.deepEqual(getUserName(config, account), 'test-name'); }); test('getUserName username only', () => { const account = { username: 'test-user', }; assert.deepEqual(getUserName(config, account), 'test-user'); }); test('getUserName email only', () => { const account = { email: 'test-user@test-url.com', }; assert.deepEqual(getUserName(config, account), 'test-user@test-url.com'); }); test('getUserName returns not Anonymous Coward as the anon name', () => { assert.deepEqual(getUserName(config, null), 'Anonymous'); }); test('getUserName for the config returning the anon name', () => { const config = { user: { anonymous_coward_name: 'Test Anon', }, }; assert.deepEqual(getUserName(config, null), 'Test Anon'); }); test('getAccountDisplayName - account with name only', () => { assert.equal( getAccountDisplayName(config, {name: 'Some user name'}), 'Some user name'); }); test('getAccountDisplayName - account with email only', () => { assert.equal( getAccountDisplayName(config, {email: 'my@example.com'}), 'my@example.com '); }); test('getAccountDisplayName - account with name and status', () => { assert.equal( getAccountDisplayName(config, { name: 'Some name', status: 'OOO', }), 'Some name (OOO)'); }); test('getAccountDisplayName - account with name and email', () => { assert.equal( getAccountDisplayName(config, { name: 'Some name', email: 'my@example.com', }), 'Some name '); }); test('getAccountDisplayName - account with name, email and status', () => { assert.equal( getAccountDisplayName(config, { name: 'Some name', email: 'my@example.com', status: 'OOO', }), 'Some name (OOO)'); }); test('getGroupDisplayName', () => { assert.equal( getGroupDisplayName({name: 'Some user name'}), 'Some user name (group)'); }); test('_accountEmail', () => { assert.equal( _testOnly_accountEmail('email@gerritreview.com'), ''); assert.equal(_testOnly_accountEmail(undefined), ''); }); });