fix: 修正边界测试预期错误标签

根据合约文档修正各面板边界测试的预期错误类型:

VaultPanel:
- sell_exceed_balance: InsufficientYT → InsufficientYTA

WUSDPanel:
- mint_zero: InvalidAmount → MaySucceed (标准ERC20无此检查)

FactoryPanel:
- set_manager_not_owner: Forbidden → OwnableUnauthorizedAccount

LPPanel:
- add_exceed_balance: InsufficientBalance → ERC20InsufficientBalance
- remove_exceed_balance: InsufficientBalance → ERC20InsufficientBalance
- swap_same_token: SameToken → MaySucceed (合约无此错误定义)
- swap_exceed_balance: InsufficientBalance → ERC20InsufficientBalance
- remove_high_minout: 修复测试逻辑,使用用户实际余额

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2025-12-16 08:32:20 +00:00
parent d3ca908d69
commit dbb287b814
4 changed files with 12 additions and 9 deletions

View File

@@ -336,7 +336,7 @@ export function FactoryPanel() {
<div className="test-card"> <div className="test-card">
<div className="test-header"> <div className="test-header">
<span className="test-name">{t('test.setManagerNotOwner')}</span> <span className="test-name">{t('test.setManagerNotOwner')}</span>
<span className="test-error">Forbidden</span> <span className="test-error">OwnableUnauthorizedAccount</span>
</div> </div>
<p className="test-desc">{t('test.setManagerNotOwnerDesc')}</p> <p className="test-desc">{t('test.setManagerNotOwnerDesc')}</p>
<button onClick={() => runPermissionTest('set_manager_not_owner')} disabled={isPending || isConfirming} className="btn btn-danger btn-sm"> <button onClick={() => runPermissionTest('set_manager_not_owner')} disabled={isPending || isConfirming} className="btn btn-danger btn-sm">

View File

@@ -340,12 +340,15 @@ export function LPPanel() {
}) })
break break
case 'remove_high_minout': case 'remove_high_minout':
// 移除时minOut过高 // 移除时minOut过高 - 使用用户余额或小额测试
const testAmount = ytLPBalance && ytLPBalance > BigInt(0)
? (ytLPBalance > parseUnits('0.1', 18) ? parseUnits('0.1', 18) : ytLPBalance)
: parseUnits('0.001', 18)
writeContract({ writeContract({
address: CONTRACTS.YT_REWARD_ROUTER, address: CONTRACTS.YT_REWARD_ROUTER,
abi: YT_REWARD_ROUTER_ABI, abi: YT_REWARD_ROUTER_ABI,
functionName: 'removeLiquidity', functionName: 'removeLiquidity',
args: [CONTRACTS.VAULTS.YT_A, parseUnits('1', 18), parseUnits('999999999', 18), address], args: [CONTRACTS.VAULTS.YT_A, testAmount, parseUnits('999999999', 18), address],
}) })
break break
case 'swap_zero': case 'swap_zero':
@@ -734,7 +737,7 @@ export function LPPanel() {
<div className="test-card"> <div className="test-card">
<div className="test-header"> <div className="test-header">
<span className="test-name">{t('lp.testAddExceed')}</span> <span className="test-name">{t('lp.testAddExceed')}</span>
<span className="test-error">InsufficientBalance</span> <span className="test-error">ERC20InsufficientBalance</span>
</div> </div>
<p className="test-desc">{t('lp.testAddExceedDesc')}</p> <p className="test-desc">{t('lp.testAddExceedDesc')}</p>
<button onClick={() => runBoundaryTest('add_exceed_balance')} disabled={isPending || isConfirming} className="btn btn-warning btn-sm"> <button onClick={() => runBoundaryTest('add_exceed_balance')} disabled={isPending || isConfirming} className="btn btn-warning btn-sm">
@@ -757,7 +760,7 @@ export function LPPanel() {
<div className="test-card"> <div className="test-card">
<div className="test-header"> <div className="test-header">
<span className="test-name">{t('lp.testRemoveExceed')}</span> <span className="test-name">{t('lp.testRemoveExceed')}</span>
<span className="test-error">InsufficientBalance</span> <span className="test-error">ERC20InsufficientBalance</span>
</div> </div>
<p className="test-desc">{t('lp.testRemoveExceedDesc')}</p> <p className="test-desc">{t('lp.testRemoveExceedDesc')}</p>
<button onClick={() => runBoundaryTest('remove_exceed_balance')} disabled={isPending || isConfirming} className="btn btn-warning btn-sm"> <button onClick={() => runBoundaryTest('remove_exceed_balance')} disabled={isPending || isConfirming} className="btn btn-warning btn-sm">
@@ -791,7 +794,7 @@ export function LPPanel() {
<div className="test-card"> <div className="test-card">
<div className="test-header"> <div className="test-header">
<span className="test-name">{t('lp.testSwapSame')}</span> <span className="test-name">{t('lp.testSwapSame')}</span>
<span className="test-error">SameToken</span> <span className="test-error">MaySucceed</span>
</div> </div>
<p className="test-desc">{t('lp.testSwapSameDesc')}</p> <p className="test-desc">{t('lp.testSwapSameDesc')}</p>
<button onClick={() => runBoundaryTest('swap_same_token')} disabled={isPending || isConfirming} className="btn btn-warning btn-sm"> <button onClick={() => runBoundaryTest('swap_same_token')} disabled={isPending || isConfirming} className="btn btn-warning btn-sm">
@@ -802,7 +805,7 @@ export function LPPanel() {
<div className="test-card"> <div className="test-card">
<div className="test-header"> <div className="test-header">
<span className="test-name">{t('lp.testSwapExceed')}</span> <span className="test-name">{t('lp.testSwapExceed')}</span>
<span className="test-error">InsufficientBalance</span> <span className="test-error">ERC20InsufficientBalance</span>
</div> </div>
<p className="test-desc">{t('lp.testSwapExceedDesc')}</p> <p className="test-desc">{t('lp.testSwapExceedDesc')}</p>
<button onClick={() => runBoundaryTest('swap_exceed_balance')} disabled={isPending || isConfirming} className="btn btn-warning btn-sm"> <button onClick={() => runBoundaryTest('swap_exceed_balance')} disabled={isPending || isConfirming} className="btn btn-warning btn-sm">

View File

@@ -530,7 +530,7 @@ export function VaultPanel() {
<div className="test-card"> <div className="test-card">
<div className="test-header"> <div className="test-header">
<span className="test-name">{t('test.sellExceedBalance')}</span> <span className="test-name">{t('test.sellExceedBalance')}</span>
<span className="test-error">InsufficientYT</span> <span className="test-error">InsufficientYTA</span>
</div> </div>
<p className="test-desc">{t('test.sellExceedBalanceDesc')}</p> <p className="test-desc">{t('test.sellExceedBalanceDesc')}</p>
<button onClick={() => runBoundaryTest('sell_exceed_balance')} disabled={isPending || isConfirming} className="btn btn-warning btn-sm"> <button onClick={() => runBoundaryTest('sell_exceed_balance')} disabled={isPending || isConfirming} className="btn btn-warning btn-sm">

View File

@@ -214,7 +214,7 @@ export function WUSDPanel() {
<div className="test-card"> <div className="test-card">
<div className="test-header"> <div className="test-header">
<span className="test-name">{t('test.mintZero')}</span> <span className="test-name">{t('test.mintZero')}</span>
<span className="test-error">InvalidAmount</span> <span className="test-error">MaySucceed</span>
</div> </div>
<p className="test-desc">{t('test.mintZeroDesc')}</p> <p className="test-desc">{t('test.mintZeroDesc')}</p>
<button onClick={() => runBoundaryTest('mint_zero')} disabled={isPending || isConfirming} className="btn btn-warning btn-sm"> <button onClick={() => runBoundaryTest('mint_zero')} disabled={isPending || isConfirming} className="btn btn-warning btn-sm">