21 lines
1.5 KiB
JavaScript
21 lines
1.5 KiB
JavaScript
import assert from 'node:assert/strict';
|
|
import test from 'node:test';
|
|
import {strictLoraRegistryConfig,parseLoraRegistryConfig} from '../ui/src/regional/loraRegistryConfig.ts';
|
|
import {loraRegistryResources} from '../ui/src/regional/loraV3Graph.ts';
|
|
import {activateNewRegistryDgConsumer} from '../ui/src/regional/loraRegistryDgAdapter.ts';
|
|
import {registryChannelFamily,allowedRegistryFamilies} from '../ui/src/regional/registryDgFamilies.ts';
|
|
|
|
test('basis role survives parsing and is excluded from regular picker',()=>{
|
|
const config={schema:'bv.lora_registry_config',version:1,registry_id:crypto.randomUUID(),stacks:[{id:crypto.randomUUID(),name:'Base',role:'basis',enabled:true,entries:[]},{id:crypto.randomUUID(),name:'Style',enabled:true,entries:[]}]};
|
|
assert.equal(strictLoraRegistryConfig(config).stacks.find(stack=>stack.name==='Base').role,'basis');
|
|
assert.equal('role' in parseLoraRegistryConfig(config).stacks.find(stack=>stack.name==='Style'),false);
|
|
assert.deepEqual(loraRegistryResources({type:'BV LoRA Registry',widgets:[{name:'config_json',value:JSON.stringify(config)}]}).map(x=>x.label),['Style']);
|
|
config.stacks[0].role='bad';assert.equal(strictLoraRegistryConfig(config),null);
|
|
});
|
|
test('unpublished model patcher has no Registry transport ownership',()=>{
|
|
const node={type:'BV Model Patcher'};activateNewRegistryDgConsumer(node);
|
|
assert.deepEqual(allowedRegistryFamilies(node),[]);
|
|
assert.equal(node.properties?.bvRegistryDgFamilies,undefined);
|
|
assert.equal(registryChannelFamily(node,'base_resource_provider_1'),null);
|
|
});
|