fix: Phase 4 - fix test fixture type errors (42 -> 38 errors)
Fixed all test fixture mock data to match actual type definitions across 4 test files. Resolved 9 distinct type errors by correcting mock object structures. Files modified: - entity.adapter.test.ts: Fixed Character mock to use nested hp/atk objects - grid.adapter.test.ts: Fixed GridWeapon/GridCharacter/GridSummon mocks - Added proper entity objects (mockWeapon, mockCharacter, mockSummon) - Fixed transcendenceStage -> transcendenceStep - Removed invalid partyId/weaponId/characterId/summonId properties - party.adapter.test.ts: Fixed Party mock - Changed visibility from 'public' string to 0 number - Removed invalid skills array from Job object - Added complete RaidGroup with all required properties - user.adapter.test.ts: Fixed User/Party mocks - Created separate mockUser (User type) vs mockUserInfo (UserInfo type) - Fixed role type mismatch (number vs string) - Added required arrays (weapons, characters, summons) to Party objects Result: 42 → 38 errors (-4) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
45b51d8880
commit
7caa34452f
4 changed files with 106 additions and 43 deletions
|
|
@ -53,28 +53,29 @@ describe('EntityAdapter', () => {
|
|||
},
|
||||
rarity: 5,
|
||||
element: 2,
|
||||
proficiency1: 1,
|
||||
proficiency2: 2,
|
||||
series: 1,
|
||||
minHp: 150,
|
||||
maxHp: 750,
|
||||
minAttack: 250,
|
||||
maxAttack: 1250,
|
||||
flbHp: 900,
|
||||
flbAttack: 1500,
|
||||
ulbHp: 1050,
|
||||
ulbAttack: 1750,
|
||||
transcendenceHp: 1200,
|
||||
transcendenceAttack: 2000,
|
||||
maxLevel: 100,
|
||||
uncap: {
|
||||
flb: true,
|
||||
ulb: true
|
||||
},
|
||||
special: false,
|
||||
seasonalId: 'summer-1',
|
||||
awakenings: [
|
||||
{
|
||||
id: 'awk-2',
|
||||
name: { en: 'HP Boost' },
|
||||
level: 2
|
||||
}
|
||||
]
|
||||
recruits: null,
|
||||
gender: 0,
|
||||
race: {
|
||||
race1: 1,
|
||||
race2: 2
|
||||
},
|
||||
proficiency: [1, 2],
|
||||
hp: {
|
||||
minHp: 150,
|
||||
maxHp: 750,
|
||||
maxHpFlb: 900
|
||||
},
|
||||
atk: {
|
||||
minAtk: 250,
|
||||
maxAtk: 1250,
|
||||
maxAtkFlb: 1500
|
||||
}
|
||||
}
|
||||
|
||||
const mockSummon: Summon = {
|
||||
|
|
|
|||
|
|
@ -8,38 +8,80 @@
|
|||
import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest'
|
||||
import { GridAdapter } from '../grid.adapter'
|
||||
import type { GridWeapon, GridCharacter, GridSummon } from '../grid.adapter'
|
||||
import type { Weapon, Character, Summon } from '$lib/types/api/entities'
|
||||
|
||||
describe('GridAdapter', () => {
|
||||
let adapter: GridAdapter
|
||||
let originalFetch: typeof global.fetch
|
||||
|
||||
const mockWeapon: Weapon = {
|
||||
id: 'weapon-1',
|
||||
granblueId: '1040001',
|
||||
name: { en: 'Test Weapon', ja: 'テスト武器' },
|
||||
rarity: 5,
|
||||
element: 1,
|
||||
maxLevel: 150,
|
||||
series: 1,
|
||||
proficiency: 1,
|
||||
uncap: { flb: true, ulb: true, transcendence: false },
|
||||
hp: { minHp: 100, maxHp: 500, maxHpFlb: 600 },
|
||||
atk: { minAtk: 200, maxAtk: 1000, maxAtkFlb: 1200 }
|
||||
}
|
||||
|
||||
const mockCharacter: Character = {
|
||||
id: 'char-1',
|
||||
granblueId: '3040001',
|
||||
name: { en: 'Test Character', ja: 'テストキャラ' },
|
||||
rarity: 5,
|
||||
element: 1,
|
||||
maxLevel: 100,
|
||||
uncap: { flb: true, ulb: true },
|
||||
special: false,
|
||||
recruits: null,
|
||||
gender: 0,
|
||||
race: { race1: 1, race2: 0 },
|
||||
proficiency: [1],
|
||||
hp: { minHp: 150, maxHp: 750, maxHpFlb: 900 },
|
||||
atk: { minAtk: 250, maxAtk: 1250, maxAtkFlb: 1500 }
|
||||
}
|
||||
|
||||
const mockSummon: Summon = {
|
||||
id: 'summon-1',
|
||||
granblueId: '2040001',
|
||||
name: { en: 'Test Summon', ja: 'テスト召喚石' },
|
||||
rarity: 5,
|
||||
element: 1,
|
||||
maxLevel: 150,
|
||||
series: 1,
|
||||
uncap: { flb: true, ulb: true, transcendence: false },
|
||||
hp: { minHp: 100, maxHp: 500, maxHpFlb: 600 },
|
||||
atk: { minAtk: 200, maxAtk: 1000, maxAtkFlb: 1200 }
|
||||
}
|
||||
|
||||
const mockGridWeapon: GridWeapon = {
|
||||
id: 'gw-1',
|
||||
partyId: 'party-1',
|
||||
weaponId: 'weapon-1',
|
||||
position: 1,
|
||||
mainhand: true,
|
||||
uncapLevel: 5,
|
||||
transcendenceStage: 0
|
||||
transcendenceStep: 0,
|
||||
weapon: mockWeapon
|
||||
}
|
||||
|
||||
const mockGridCharacter: GridCharacter = {
|
||||
id: 'gc-1',
|
||||
partyId: 'party-1',
|
||||
characterId: 'char-1',
|
||||
position: 1,
|
||||
uncapLevel: 5,
|
||||
transcendenceStage: 1
|
||||
transcendenceStep: 1,
|
||||
character: mockCharacter
|
||||
}
|
||||
|
||||
const mockGridSummon: GridSummon = {
|
||||
id: 'gs-1',
|
||||
partyId: 'party-1',
|
||||
summonId: 'summon-1',
|
||||
position: 1,
|
||||
quickSummon: true,
|
||||
uncapLevel: 5,
|
||||
transcendenceStage: 2
|
||||
transcendenceStep: 2,
|
||||
summon: mockSummon
|
||||
}
|
||||
|
||||
beforeEach(() => {
|
||||
|
|
|
|||
|
|
@ -18,28 +18,34 @@ describe('PartyAdapter', () => {
|
|||
shortcode: 'ABC123',
|
||||
name: 'Test Party',
|
||||
description: 'Test description',
|
||||
visibility: 'public',
|
||||
visibility: 0,
|
||||
user: {
|
||||
id: 'user-1',
|
||||
username: 'testuser'
|
||||
},
|
||||
job: {
|
||||
id: 'job-1',
|
||||
granblueId: 'job-1',
|
||||
name: { en: 'Warrior', ja: 'ウォリアー' },
|
||||
skills: [
|
||||
{
|
||||
id: 'skill-1',
|
||||
name: { en: 'Rage', ja: 'レイジ' },
|
||||
slot: 1
|
||||
}
|
||||
]
|
||||
row: 1,
|
||||
order: 1,
|
||||
proficiency: [1, 2]
|
||||
},
|
||||
raid: {
|
||||
id: 'raid-1',
|
||||
slug: 'proto-bahamut',
|
||||
name: { en: 'Proto Bahamut', ja: 'プロトバハムート' },
|
||||
level: 50,
|
||||
element: 0,
|
||||
group: {
|
||||
id: 'group-1',
|
||||
name: { en: 'Tier 1', ja: 'ティア1' }
|
||||
name: { en: 'Tier 1', ja: 'ティア1' },
|
||||
section: 'omega',
|
||||
order: 1,
|
||||
difficulty: 1,
|
||||
hl: false,
|
||||
extra: false,
|
||||
guidebooks: true
|
||||
}
|
||||
},
|
||||
weapons: [],
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ import { describe, it, expect, beforeEach, vi } from 'vitest'
|
|||
import { UserAdapter } from '../user.adapter'
|
||||
import type { UserInfo, UserProfile } from '../user.adapter'
|
||||
import type { Party } from '$lib/types/api/party'
|
||||
import type { User } from '$lib/types/api/entities'
|
||||
|
||||
describe('UserAdapter', () => {
|
||||
let adapter: UserAdapter
|
||||
|
|
@ -21,6 +22,16 @@ describe('UserAdapter', () => {
|
|||
}
|
||||
}
|
||||
|
||||
const mockUser: User = {
|
||||
id: 'user-1',
|
||||
username: 'testuser',
|
||||
role: 'user',
|
||||
avatar: {
|
||||
picture: 'avatar.jpg',
|
||||
element: 'fire'
|
||||
}
|
||||
}
|
||||
|
||||
const mockUserProfile: UserProfile = {
|
||||
...mockUserInfo,
|
||||
parties: [
|
||||
|
|
@ -28,8 +39,11 @@ describe('UserAdapter', () => {
|
|||
id: 'party-1',
|
||||
shortcode: 'abc123',
|
||||
name: 'Test Party',
|
||||
user: mockUserInfo
|
||||
} as Party
|
||||
user: mockUser,
|
||||
weapons: [],
|
||||
characters: [],
|
||||
summons: []
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
|
|
@ -37,13 +51,13 @@ describe('UserAdapter', () => {
|
|||
id: 'party-1',
|
||||
shortcode: 'abc123',
|
||||
name: 'Fire Team',
|
||||
user: mockUserInfo,
|
||||
user: mockUser,
|
||||
visibility: 0,
|
||||
element: 1,
|
||||
characters: [],
|
||||
weapons: [],
|
||||
summons: []
|
||||
} as Party
|
||||
}
|
||||
|
||||
beforeEach(() => {
|
||||
mockFetch = vi.fn()
|
||||
|
|
|
|||
Loading…
Reference in a new issue