fix(governance): enforce SugarSubstitute quality standards
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
# SimpleSyrup - workflow-focused ComfyUI extensions for image generation
|
||||
# Copyright (C) 2026 Artificial Sweetener and contributors
|
||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
|
||||
"""Tests for the reusable Seed ComfyUI node."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from typing import Any
|
||||
|
||||
from simple_syrup.nodes.seed import Seed
|
||||
|
||||
|
||||
def test_seed_node_contract_constants() -> None:
|
||||
"""Seed node exposes the intended ComfyUI output contract."""
|
||||
|
||||
assert Seed.RETURN_TYPES == ("INT",)
|
||||
assert Seed.RETURN_NAMES == ("seed",)
|
||||
assert Seed.FUNCTION == "execute"
|
||||
assert Seed.CATEGORY == "SimpleSyrup/Utilities"
|
||||
|
||||
|
||||
def test_seed_node_declares_native_seed_input() -> None:
|
||||
"""Seed input uses ComfyUI's native seed widget metadata."""
|
||||
|
||||
input_types: dict[str, dict[str, tuple[Any, ...]]] = Seed.INPUT_TYPES()
|
||||
|
||||
required = input_types["required"]
|
||||
assert tuple(required) == ("seed",)
|
||||
|
||||
seed_input = required["seed"]
|
||||
assert seed_input[0] == "INT"
|
||||
|
||||
metadata = seed_input[1]
|
||||
assert metadata["default"] == 0
|
||||
assert metadata["min"] == 0
|
||||
assert metadata["max"] == 0xFFFFFFFFFFFFFFFF
|
||||
assert metadata["control_after_generate"] is True
|
||||
|
||||
|
||||
def test_seed_node_returns_seed_unchanged() -> None:
|
||||
"""Execution returns the selected seed value without modification."""
|
||||
|
||||
assert Seed().execute(123) == (123,)
|
||||
Reference in New Issue
Block a user