import { describe, expect, test } from "bun:test"; import { ItemSchema, getItemIndexByName, getTradableStatusByDefindex, getTradableStatusByName} from '../src/content/schemaService' const mockSchema: ItemSchema = { '21': { name: 'Flame Thrower', tradable: false }, '208': { name: 'Flame Thrower', tradable: true }, '5021': { name: 'Mann Co. Supply Crate Key', tradable: true }, '15141': { name: 'Flame Thrower', tradable: true }, '69420': { name: 'Non-Tradable Item', tradable: false } } describe('Schema Service', () => { test('getItemIndexByName returns correct defindex', () => { expect(getItemIndexByName(mockSchema, 'Flame Thrower')).toBe(208) expect(getItemIndexByName(mockSchema, 'Mann Co. Supply Crate Key')).toBe(5021) expect(getItemIndexByName(mockSchema, 'Non-Existent Item')).toBeNull() }) test('getTradableStatusByDefindex returns correct status', () => { expect(getTradableStatusByDefindex(mockSchema, 208)).toBe(true) expect(getTradableStatusByDefindex(mockSchema, 5021)).toBe(true) expect(getTradableStatusByDefindex(mockSchema, 69420)).toBe(false) expect(() => getTradableStatusByDefindex(mockSchema, 999)).toThrow() }) test('getTradableStatusByName returns correct status', () => { expect(getTradableStatusByName(mockSchema, 'Flame Thrower')).toBe(true) expect(getTradableStatusByName(mockSchema, 'Mann Co. Supply Crate Key')).toBe(true) expect(getTradableStatusByName(mockSchema, 'Non-Tradable Item')).toBe(false) expect(getTradableStatusByName(mockSchema, 'Non-Existent Item')).toBe(true) }) })