mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-04-29 02:32:18 +00:00
Fix type on LoadClip being marked as asset (#6207)
Previously, asset conversion was performed on any combo widget on a valid node. As the `type` widget on LoadClip was also a combo widget, it was being incorrectly converted. This PR changes the isAssetBrowserEligible check to also verify the widget name is correct. <img width="694" height="174" alt="image" src="https://github.com/user-attachments/assets/a8523ade-7f59-4480-b5e6-8782fd680106" /> ┆Issue is synchronized with this [Notion page](https://www.notion.so/PR-6207-Fix-type-on-LoadClip-being-marked-as-asset-2946d73d3650811690f8d3a221a5b76d) by [Unito](https://www.unito.io)
This commit is contained in:
@@ -16,15 +16,12 @@ const mockGetCategoryForNodeType = vi.fn()
|
||||
|
||||
vi.mock('@/stores/modelToNodeStore', () => ({
|
||||
useModelToNodeStore: vi.fn(() => ({
|
||||
getRegisteredNodeTypes: vi.fn(
|
||||
() =>
|
||||
new Set([
|
||||
'CheckpointLoaderSimple',
|
||||
'LoraLoader',
|
||||
'VAELoader',
|
||||
'TestNode'
|
||||
])
|
||||
),
|
||||
getRegisteredNodeTypes: vi.fn(() => ({
|
||||
CheckpointLoaderSimple: 'ckpt_name',
|
||||
LoraLoader: 'lora_name',
|
||||
VAELoader: 'vae_name',
|
||||
TestNode: ''
|
||||
})),
|
||||
getCategoryForNodeType: mockGetCategoryForNodeType,
|
||||
modelToNodeMap: {
|
||||
checkpoints: [{ nodeDef: { name: 'CheckpointLoaderSimple' } }],
|
||||
@@ -191,19 +188,19 @@ describe('assetService', () => {
|
||||
})
|
||||
|
||||
describe('isAssetBrowserEligible', () => {
|
||||
it('should return true for registered node types', () => {
|
||||
expect(
|
||||
assetService.isAssetBrowserEligible('CheckpointLoaderSimple')
|
||||
).toBe(true)
|
||||
expect(assetService.isAssetBrowserEligible('LoraLoader')).toBe(true)
|
||||
expect(assetService.isAssetBrowserEligible('VAELoader')).toBe(true)
|
||||
})
|
||||
|
||||
it('should return false for unregistered node types', () => {
|
||||
expect(assetService.isAssetBrowserEligible('UnknownNode')).toBe(false)
|
||||
expect(assetService.isAssetBrowserEligible('NotRegistered')).toBe(false)
|
||||
expect(assetService.isAssetBrowserEligible('')).toBe(false)
|
||||
})
|
||||
it.for<[string, string, boolean, string]>([
|
||||
['CheckpointLoaderSimple', 'ckpt_name', true, 'valid inputs'],
|
||||
['LoraLoader', 'lora_name', true, 'valid inputs'],
|
||||
['VAELoader', 'vae_name', true, 'valid inputs'],
|
||||
['CheckpointLoaderSimple', 'type', false, 'other combo widgets'],
|
||||
['UnknownNode', 'widget', false, 'unregistered types'],
|
||||
['NotRegistered', 'widget', false, 'unregistered types']
|
||||
])(
|
||||
'isAssetBrowserEligible("%s", "%s") should return %s for %s',
|
||||
([type, name, expected]) => {
|
||||
expect(assetService.isAssetBrowserEligible(type, name)).toBe(expected)
|
||||
}
|
||||
)
|
||||
})
|
||||
|
||||
describe('getAssetsForNodeType', () => {
|
||||
|
||||
Reference in New Issue
Block a user