package com.superbiz.agent.controller; import org.junit.jupiter.api.Test; import java.io.IOException; import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertTrue; class FrontendChatSseContractTest { private static final Path STATIC_ROOT = Path.of("src", "main", "resources", "static"); @Test void bundledChatUsesOnlyTheNewSseConsumer() throws IOException { String app = Files.readString(STATIC_ROOT.resolve("app.js"), StandardCharsets.UTF_8); String html = Files.readString(STATIC_ROOT.resolve("index.html"), StandardCharsets.UTF_8); assertTrue(app.contains("sendChatMessage")); assertTrue(app.contains("/chat`")); assertTrue(app.contains("case 'metadata'")); assertTrue(app.contains("case 'status'")); assertTrue(app.contains("case 'content'")); assertTrue(app.contains("case 'failure'")); assertTrue(app.contains("case 'done'")); assertFalse(app.contains("/chat_stream")); assertFalse(app.contains("sendQuickMessage")); assertFalse(app.contains("sendStreamMessage")); assertFalse(app.contains("currentMode")); assertFalse(html.contains("modeSelectorBtn")); assertFalse(html.contains("modeDropdown")); } }