Skip to content

🧪 Add tests for SettingsTab component#421

Closed
is0692vs wants to merge 1 commit into
mainfrom
test-settings-tab-17201669558214329738
Closed

🧪 Add tests for SettingsTab component#421
is0692vs wants to merge 1 commit into
mainfrom
test-settings-tab-17201669558214329738

Conversation

@is0692vs

@is0692vs is0692vs commented Jul 3, 2026

Copy link
Copy Markdown
Contributor

🎯 What: The testing gap addressed for the SettingsTab component.
📊 Coverage: Scenarios like rendering all options, tracking checked states, handling missing defaults, and verifying toggle callbacks are now tested.
Result: The improvement in test coverage.


PR created automatically by Jules for task 17201669558214329738 started by @is0692vs

Greptile Summary

このPRは SettingsTab コンポーネントに対するテストファイル(SettingsTab.test.tsx)を新規追加し、vitest.config.ts のカバレッジ対象に同コンポーネントを追加する変更です。

  • テスト内容: MAIN_BLOCKS・DETAIL_OPTIONS の描画確認、チェック状態の反映、トグルコールバックの呼び出し確認、未設定オプションの false フォールバック確認の5ケースをカバー。
  • 軽微な品質問題: 最初のテストで mockIsBlockVisible の戻り値が未設定(undefinedchecked に渡される)、getByLabelText に続く冗長な .toBeDefined() アサーション、SettingsTab が実際には描画しない8つのキーを含む defaultDisplayOptions フィクスチャが存在する。
  • vitest.config.ts: カバレッジ対象リストに SettingsTab.tsx を追加しただけで、設定上の問題はない。

Confidence Score: 4/5

テスト追加のみの変更でプロダクションコードへの影響はなく、マージしても安全です。

テストのロジック自体は正しく、コンポーネントの主要な挙動(描画・状態反映・コールバック)を網羅しています。ただし mockIsBlockVisible の初期戻り値未設定、冗長なアサーション、実際には描画されないキーを含むフィクスチャといった小さな品質上の課題が複数あります。

src/components/SettingsTab.test.tsx — モックの設定漏れとフィクスチャのキー過剰を確認してください。

Important Files Changed

Filename Overview
src/components/SettingsTab.test.tsx SettingsTab の新規テストファイル。5つのシナリオをカバーしているが、最初のテストで mockIsBlockVisible の戻り値が未設定、冗長な .toBeDefined() アサーション、描画されないキーを含む defaultDisplayOptions など、軽微な品質上の問題が複数存在する。
vitest.config.ts カバレッジ対象に SettingsTab.tsx を追加しただけのシンプルな変更。既存の設定に問題なく追記されている。

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[SettingsTab.test.tsx] --> B{各テストケース}
    B --> C["renders all MAIN_BLOCKS and DETAIL_OPTIONS\n(mockIsBlockVisible 戻り値なし ⚠)"]
    B --> D["reflects checked state for blocks and options\n(mockIsBlockVisible.mockImplementation)"]
    B --> E["calls toggleMainBlockVisibility on click\n(fireEvent.click → onChange)"]
    B --> F["calls toggleDisplayOption on click\n(fireEvent.click → onChange)"]
    B --> G["defaults missing displayOptions to false\n(undefined ?? false)"]
    C -->|MAIN_BLOCKS x6| H[getByLabelText → isDefined ⚠]
    C -->|DETAIL_OPTIONS x7| H
    D --> I[checked state assertion]
    E --> J[toHaveBeenCalledWith 'profile']
    F --> K[toHaveBeenCalledWith 'showAvatar']
    G --> L[checked false via ?? fallback]
Loading
%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%%
flowchart TD
    A[SettingsTab.test.tsx] --> B{各テストケース}
    B --> C["renders all MAIN_BLOCKS and DETAIL_OPTIONS\n(mockIsBlockVisible 戻り値なし ⚠)"]
    B --> D["reflects checked state for blocks and options\n(mockIsBlockVisible.mockImplementation)"]
    B --> E["calls toggleMainBlockVisibility on click\n(fireEvent.click → onChange)"]
    B --> F["calls toggleDisplayOption on click\n(fireEvent.click → onChange)"]
    B --> G["defaults missing displayOptions to false\n(undefined ?? false)"]
    C -->|MAIN_BLOCKS x6| H[getByLabelText → isDefined ⚠]
    C -->|DETAIL_OPTIONS x7| H
    D --> I[checked state assertion]
    E --> J[toHaveBeenCalledWith 'profile']
    F --> K[toHaveBeenCalledWith 'showAvatar']
    G --> L[checked false via ?? fallback]
Loading
Prompt To Fix All With AI
Fix the following 3 code review issues. Work through them one at a time, proposing concise fixes.

---

### Issue 1 of 3
src/components/SettingsTab.test.tsx:42-49
**`getByLabelText` が失敗時に例外を投げるため `.toBeDefined()` は冗長**

`getByLabelText` は要素が見つからない場合に `TestingLibraryElementError` をスローするため、その後ろに `.toBeDefined()` をつけても意味がありません。アサーションが存在する、と読んだ人が誤解する可能性があります。Testing Library の慣習に従い、`expect(screen.getByLabelText(...)).toBeInTheDocument()` を使うか、`getByLabelText` の呼び出し自体(アサーションなし)で十分です。

### Issue 2 of 3
src/components/SettingsTab.test.tsx:37-38
**最初のテストで `mockIsBlockVisible` の戻り値が未設定**

`vi.fn()` のデフォルト戻り値は `undefined` です。そのため最初のテストでは `checked={undefined}` がチェックボックスに渡され、React がコンポーネントを「アンコントロール」として扱い、コンソール警告が出る可能性があります。`mockReturnValue(false)` を追加して安定させてください。

```suggestion
  it("renders all MAIN_BLOCKS and DETAIL_OPTIONS", () => {
    mockIsBlockVisible.mockReturnValue(false);
    render(
```

### Issue 3 of 3
src/components/SettingsTab.test.tsx:13-31
**`defaultDisplayOptions``SettingsTab` が表示しないキーが含まれている**

`defaultDisplayOptions` には `showRepos``showCompany``showWebsite``showTwitter``showContributionBreakdown``showStreaks``showInterests``showActivityBreakdown` が含まれていますが、これらのキーは `DETAIL_OPTIONS` に存在せず、`SettingsTab` がチェックボックスとして描画することはありません。型的には正しい `CardDisplayOptions` ですが、コンポーネントが実際に操作するのは 7 つのオプション(`showAvatar``showBio``showStats``showLocation``showJoinedDate``showTopics``showLanguage`)のみです。余分なキーを持つフィクスチャはコードを読む人を混乱させる可能性があるため、実際に描画されるキーのみに絞ることを検討してください。

Reviews (1): Last reviewed commit: "test: add tests for SettingsTab componen..." | Re-trigger Greptile

Greptile also left 3 inline comments on this PR.

Co-authored-by: is0692vs <135803462+is0692vs@users.noreply.github.com>
@google-labs-jules

Copy link
Copy Markdown
Contributor

👋 Jules, reporting for duty! I'm here to lend a hand with this pull request.

When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down.

I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job!

For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with @jules. You can find this option in the Pull Request section of your global Jules UI settings. You can always switch back!

New to Jules? Learn more at jules.google/docs.


For security, I will only act on instructions from the user who triggered this task.

@vercel

vercel Bot commented Jul 3, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
github-user-summary Ignored Ignored Jul 3, 2026 7:10am

@coderabbitai

coderabbitai Bot commented Jul 3, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@is0692vs, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 56 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 0c5b654c-faa1-434a-b691-ab192755cf84

📥 Commits

Reviewing files that changed from the base of the PR and between 8eb33b2 and 40ebceb.

📒 Files selected for processing (2)
  • src/components/SettingsTab.test.tsx
  • vitest.config.ts
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch test-settings-tab-17201669558214329738

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@qodo-code-review

Copy link
Copy Markdown

PR Summary by Qodo

Add Vitest coverage for SettingsTab component

🧪 Tests ⚙️ Configuration changes 🕐 10-20 Minutes

Grey Divider

AI Description

• Add unit tests validating SettingsTab renders all blocks and detail options.
• Verify checkbox checked-state mapping and toggle callbacks for blocks/options.
• Update Vitest config to include SettingsTab in coverage exclusions list.
Diagram

graph TD
  T["SettingsTab.test.tsx"] --> C("SettingsTab.tsx") --> K["cardGeneratorConstants"]
  T --> C --> D["cardSettings (types)"]
  V["vitest.config.ts"] --> X["Coverage excludes list"]
Loading
High-Level Assessment

The following are alternative approaches to this PR:

1. Use @testing-library/user-event instead of fireEvent
  • ➕ Closer to real user interactions (focus/blur, keyboard, pointer semantics)
  • ➕ Often reduces false positives around checkbox behavior
  • ➖ Slightly more setup/async handling in tests
  • ➖ Not strictly necessary for simple click-toggle coverage
2. Table-driven tests over MAIN_BLOCKS/DETAIL_OPTIONS
  • ➕ Less duplicated lookup logic and easier expansion as options grow
  • ➕ Clearer mapping between inputs and expectations
  • ➖ More indirection; may reduce readability for a small test suite

Recommendation: Current approach is reasonable for coverage: it asserts presence, checked-state wiring, and callback parameters. If these tests become flaky or need richer interaction coverage, consider migrating click assertions to user-event; otherwise keep as-is.

Files changed (2) +163 / -0

Tests (1) +162 / -0
SettingsTab.test.tsxAdd SettingsTab render/state/callback unit tests +162/-0

Add SettingsTab render/state/callback unit tests

• Introduces jsdom-based Vitest tests covering rendering of all MAIN_BLOCKS and DETAIL_OPTIONS, checked state reflection via isBlockVisible/displayOptions, and click-triggered callbacks for both main blocks and detail options. Includes a regression-style test ensuring missing displayOptions keys default to unchecked (false).

src/components/SettingsTab.test.tsx

Other (1) +1 / -0
vitest.config.tsExclude SettingsTab component from coverage collection +1/-0

Exclude SettingsTab component from coverage collection

• Adds src/components/SettingsTab.tsx to the Vitest coverage exclusion list alongside other UI components and non-targeted files.

vitest.config.ts

ⓘ You are approaching your monthly quota for Qodo. Upgrade your plan

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces a comprehensive test suite for the SettingsTab component in src/components/SettingsTab.test.tsx. Feedback focuses on removing SettingsTab.tsx from the coverage exclusion list in vitest.config.ts so that its test coverage is properly tracked. Additionally, the reviewer suggests importing @testing-library/jest-dom and replacing redundant toBeDefined() assertions with toBeInTheDocument() to improve the quality and correctness of the tests.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

Comment thread vitest.config.ts
Comment on lines 23 to 25
"src/components/LayoutEditor.tsx",
"src/components/SettingsTab.tsx",
"src/lib/rateLimit.ts",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

Adding src/components/SettingsTab.tsx to this list (which appears to be the coverage exclusion list in vitest.config.ts) will exclude it from test coverage reports. Since the primary goal of this PR is to add tests and improve coverage for SettingsTab, it should not be excluded. Please remove this line so that the new tests are properly tracked in coverage metrics.

Suggested change
"src/components/LayoutEditor.tsx",
"src/components/SettingsTab.tsx",
"src/lib/rateLimit.ts",
"src/components/LayoutEditor.tsx",
"src/lib/rateLimit.ts",

Comment on lines +4 to +5
import { render, screen, fireEvent } from "@testing-library/react";
import { describe, it, expect, vi, beforeEach } from "vitest";

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

To use DOM-specific matchers like toBeInTheDocument(), we should import @testing-library/jest-dom in this test file. According to the repository guidelines, importing @testing-library/jest-dom is sufficient to extend expect with its matchers.

Suggested change
import { render, screen, fireEvent } from "@testing-library/react";
import { describe, it, expect, vi, beforeEach } from "vitest";
import { render, screen, fireEvent } from "@testing-library/react";
import "@testing-library/jest-dom";
import { describe, it, expect, vi, beforeEach } from "vitest";
References
  1. In this repository, importing @testing-library/jest-dom in a Vitest test file is sufficient to extend expect with its matchers; expect.extend is not required.

Comment on lines +47 to +53
MAIN_BLOCKS.forEach((block) => {
expect(screen.getByLabelText(block.label)).toBeDefined();
});

DETAIL_OPTIONS.forEach((option) => {
expect(screen.getByLabelText(option.label)).toBeDefined();
});

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Using toBeDefined() on the result of screen.getByLabelText is redundant because getByLabelText will throw an error if the element is not found, meaning the assertion will never be evaluated for missing elements. Instead, use toBeInTheDocument() from @testing-library/jest-dom to explicitly assert the element's presence in the DOM.

Suggested change
MAIN_BLOCKS.forEach((block) => {
expect(screen.getByLabelText(block.label)).toBeDefined();
});
DETAIL_OPTIONS.forEach((option) => {
expect(screen.getByLabelText(option.label)).toBeDefined();
});
MAIN_BLOCKS.forEach((block) => {
expect(screen.getByLabelText(block.label)).toBeInTheDocument();
});
DETAIL_OPTIONS.forEach((option) => {
expect(screen.getByLabelText(option.label)).toBeInTheDocument();
});

@codecov

codecov Bot commented Jul 3, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@qodo-code-review

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (0) 📘 Rule violations (1) 📜 Skill insights (0)

Context used
✅ Compliance rules (platform): 30 rules

Grey Divider


Action required

1. Relative SettingsTab import 📘 Rule violation ✧ Quality
Description
src/components/SettingsTab.test.tsx imports a module under src/ via a relative path
(./SettingsTab) instead of the required @/ alias. This can lead to inconsistent import patterns
and bypasses the project’s configured path aliasing standard.
Code

src/components/SettingsTab.test.tsx[6]

+import { SettingsTab } from "./SettingsTab";
Evidence
PR Compliance ID 226103 requires imports that resolve within src/ to use the @/ alias. The added
test file imports SettingsTab via ./SettingsTab, which is a relative path into src/components.

Rule 226103: Use @/ path alias for src imports in frontend code
src/components/SettingsTab.test.tsx[6-6]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The test imports a `src/` module using a relative path (`./SettingsTab`) instead of the required `@/` path alias.

## Issue Context
The repository has `@/*` mapped to `./src/*` in `tsconfig.json`, and the compliance rule requires `@/` for imports that resolve into `src/`.

## Fix Focus Areas
- src/components/SettingsTab.test.tsx[6-6]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

ⓘ You are approaching your monthly quota for Qodo. Upgrade your plan

Qodo Logo

*/
import { render, screen, fireEvent } from "@testing-library/react";
import { describe, it, expect, vi, beforeEach } from "vitest";
import { SettingsTab } from "./SettingsTab";

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Action required

1. Relative settingstab import 📘 Rule violation ✧ Quality

src/components/SettingsTab.test.tsx imports a module under src/ via a relative path
(./SettingsTab) instead of the required @/ alias. This can lead to inconsistent import patterns
and bypasses the project’s configured path aliasing standard.
Agent Prompt
## Issue description
The test imports a `src/` module using a relative path (`./SettingsTab`) instead of the required `@/` path alias.

## Issue Context
The repository has `@/*` mapped to `./src/*` in `tsconfig.json`, and the compliance rule requires `@/` for imports that resolve into `src/`.

## Fix Focus Areas
- src/components/SettingsTab.test.tsx[6-6]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

Comment on lines +42 to +49
displayOptions={defaultDisplayOptions}
toggleDisplayOption={mockToggleDisplayOption}
/>
);

MAIN_BLOCKS.forEach((block) => {
expect(screen.getByLabelText(block.label)).toBeDefined();
});

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 getByLabelText が失敗時に例外を投げるため .toBeDefined() は冗長

getByLabelText は要素が見つからない場合に TestingLibraryElementError をスローするため、その後ろに .toBeDefined() をつけても意味がありません。アサーションが存在する、と読んだ人が誤解する可能性があります。Testing Library の慣習に従い、expect(screen.getByLabelText(...)).toBeInTheDocument() を使うか、getByLabelText の呼び出し自体(アサーションなし)で十分です。

Prompt To Fix With AI
This is a comment left during a code review.
Path: src/components/SettingsTab.test.tsx
Line: 42-49

Comment:
**`getByLabelText` が失敗時に例外を投げるため `.toBeDefined()` は冗長**

`getByLabelText` は要素が見つからない場合に `TestingLibraryElementError` をスローするため、その後ろに `.toBeDefined()` をつけても意味がありません。アサーションが存在する、と読んだ人が誤解する可能性があります。Testing Library の慣習に従い、`expect(screen.getByLabelText(...)).toBeInTheDocument()` を使うか、`getByLabelText` の呼び出し自体(アサーションなし)で十分です。

How can I resolve this? If you propose a fix, please make it concise.

Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

Comment on lines +37 to +38
it("renders all MAIN_BLOCKS and DETAIL_OPTIONS", () => {
render(

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 最初のテストで mockIsBlockVisible の戻り値が未設定

vi.fn() のデフォルト戻り値は undefined です。そのため最初のテストでは checked={undefined} がチェックボックスに渡され、React がコンポーネントを「アンコントロール」として扱い、コンソール警告が出る可能性があります。mockReturnValue(false) を追加して安定させてください。

Suggested change
it("renders all MAIN_BLOCKS and DETAIL_OPTIONS", () => {
render(
it("renders all MAIN_BLOCKS and DETAIL_OPTIONS", () => {
mockIsBlockVisible.mockReturnValue(false);
render(
Prompt To Fix With AI
This is a comment left during a code review.
Path: src/components/SettingsTab.test.tsx
Line: 37-38

Comment:
**最初のテストで `mockIsBlockVisible` の戻り値が未設定**

`vi.fn()` のデフォルト戻り値は `undefined` です。そのため最初のテストでは `checked={undefined}` がチェックボックスに渡され、React がコンポーネントを「アンコントロール」として扱い、コンソール警告が出る可能性があります。`mockReturnValue(false)` を追加して安定させてください。

```suggestion
  it("renders all MAIN_BLOCKS and DETAIL_OPTIONS", () => {
    mockIsBlockVisible.mockReturnValue(false);
    render(
```

How can I resolve this? If you propose a fix, please make it concise.

Comment on lines +13 to +31
const mockToggleDisplayOption = vi.fn();

const defaultDisplayOptions: CardDisplayOptions = {
showAvatar: true,
showBio: false,
showStats: true,
showLanguage: false,
showRepos: true,
showCompany: false,
showLocation: true,
showWebsite: false,
showTwitter: true,
showJoinedDate: false,
showTopics: true,
showContributionBreakdown: false,
showStreaks: true,
showInterests: false,
showActivityBreakdown: true,
};

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 defaultDisplayOptionsSettingsTab が表示しないキーが含まれている

defaultDisplayOptions には showReposshowCompanyshowWebsiteshowTwittershowContributionBreakdownshowStreaksshowInterestsshowActivityBreakdown が含まれていますが、これらのキーは DETAIL_OPTIONS に存在せず、SettingsTab がチェックボックスとして描画することはありません。型的には正しい CardDisplayOptions ですが、コンポーネントが実際に操作するのは 7 つのオプション(showAvatarshowBioshowStatsshowLocationshowJoinedDateshowTopicsshowLanguage)のみです。余分なキーを持つフィクスチャはコードを読む人を混乱させる可能性があるため、実際に描画されるキーのみに絞ることを検討してください。

Prompt To Fix With AI
This is a comment left during a code review.
Path: src/components/SettingsTab.test.tsx
Line: 13-31

Comment:
**`defaultDisplayOptions``SettingsTab` が表示しないキーが含まれている**

`defaultDisplayOptions` には `showRepos``showCompany``showWebsite``showTwitter``showContributionBreakdown``showStreaks``showInterests``showActivityBreakdown` が含まれていますが、これらのキーは `DETAIL_OPTIONS` に存在せず、`SettingsTab` がチェックボックスとして描画することはありません。型的には正しい `CardDisplayOptions` ですが、コンポーネントが実際に操作するのは 7 つのオプション(`showAvatar``showBio``showStats``showLocation``showJoinedDate``showTopics``showLanguage`)のみです。余分なキーを持つフィクスチャはコードを読む人を混乱させる可能性があるため、実際に描画されるキーのみに絞ることを検討してください。

How can I resolve this? If you propose a fix, please make it concise.

Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

@is0692vs

is0692vs commented Jul 5, 2026

Copy link
Copy Markdown
Contributor Author

Closing duplicate/unstable SettingsTab test PR; keeping the newer clean PR #433 for review.

@is0692vs is0692vs closed this Jul 5, 2026
@google-labs-jules

Copy link
Copy Markdown
Contributor

Closing duplicate/unstable SettingsTab test PR; keeping the newer clean PR #433 for review.

Understood. Acknowledging that this work is now obsolete and stopping work on this task.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant