UNPKG

chrome-devtools-frontend

Version:
53 lines (47 loc) 2.77 kB
// Copyright 2023 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. import type * as SDK from '../../core/sdk/sdk.js'; import * as Protocol from '../../generated/protocol.js'; import {describeWithLocale} from '../../testing/EnvironmentHelpers.js'; import {MockIssuesModel} from '../../testing/MockIssuesModel.js'; import * as IssuesManager from '../issues_manager/issues_manager.js'; function createProtocolIssue( federatedAuthUserInfoRequestIssueDetails: Protocol.Audits.FederatedAuthUserInfoRequestIssueDetails): Protocol.Audits.InspectorIssue { return { code: Protocol.Audits.InspectorIssueCode.FederatedAuthUserInfoRequestIssue, details: {federatedAuthUserInfoRequestIssueDetails}, }; } describeWithLocale('FederatedAuthUserInfoRequestIssue', () => { const mockModel = new MockIssuesModel([]) as unknown as SDK.IssuesModel.IssuesModel; it('can be created for various error reasons', () => { const errorReasons = [ Protocol.Audits.FederatedAuthUserInfoRequestIssueReason.NotSameOrigin, Protocol.Audits.FederatedAuthUserInfoRequestIssueReason.NotIframe, Protocol.Audits.FederatedAuthUserInfoRequestIssueReason.NotPotentiallyTrustworthy, Protocol.Audits.FederatedAuthUserInfoRequestIssueReason.NoAPIPermission, Protocol.Audits.FederatedAuthUserInfoRequestIssueReason.NotSignedInWithIdp, Protocol.Audits.FederatedAuthUserInfoRequestIssueReason.NoAccountSharingPermission, Protocol.Audits.FederatedAuthUserInfoRequestIssueReason.InvalidConfigOrWellKnown, Protocol.Audits.FederatedAuthUserInfoRequestIssueReason.InvalidAccountsResponse, Protocol.Audits.FederatedAuthUserInfoRequestIssueReason.NoReturningUserFromFetchedAccounts, ]; for (const errorReason of errorReasons) { const issueDetails = { federatedAuthUserInfoRequestIssueReason: errorReason, }; const issue = createProtocolIssue(issueDetails); const federatedAuthUserInfoRequestIssues = IssuesManager.FederatedAuthUserInfoRequestIssue.FederatedAuthUserInfoRequestIssue.fromInspectorIssue( mockModel, issue); assert.lengthOf(federatedAuthUserInfoRequestIssues, 1); const federatedAuthUserInfoRequestIssue = federatedAuthUserInfoRequestIssues[0]; assert.strictEqual(federatedAuthUserInfoRequestIssue.getCategory(), IssuesManager.Issue.IssueCategory.OTHER); assert.deepEqual(federatedAuthUserInfoRequestIssue.details(), issueDetails); assert.strictEqual(federatedAuthUserInfoRequestIssue.getKind(), IssuesManager.Issue.IssueKind.PAGE_ERROR); assert.isNotNull(federatedAuthUserInfoRequestIssue.getDescription()); } }); });