test_show_chat_entrypoint.js (1514B)
1 /* Any copyright is dedicated to the Public Domain. 2 * http://creativecommons.org/publicdomain/zero/1.0/ */ 3 4 const { GenAI } = ChromeUtils.importESModule( 5 "resource:///modules/GenAI.sys.mjs" 6 ); 7 8 registerCleanupFunction(() => { 9 Services.prefs.clearUserPref("browser.ml.chat.enabled"); 10 Services.prefs.clearUserPref("browser.ml.chat.provider"); 11 Services.prefs.clearUserPref("sidebar.main.tools"); 12 Services.prefs.clearUserPref("sidebar.revamp"); 13 }); 14 15 /** 16 * Check various prefs for showing chat 17 */ 18 add_task(async function test_show_chat() { 19 // Test should start with sidebar.revamp set to false 20 Services.prefs.setBoolPref("sidebar.revamp", false); 21 22 Assert.ok(!GenAI.canShowChatEntrypoint, "Default no"); 23 24 Services.prefs.setBoolPref("browser.ml.chat.enabled", true); 25 26 Assert.ok(!GenAI.canShowChatEntrypoint, "Not enough to just enable"); 27 28 Services.prefs.setStringPref( 29 "browser.ml.chat.provider", 30 "http://mochi.test:8888" 31 ); 32 33 Assert.ok(GenAI.canShowChatEntrypoint, "Can show with provider"); 34 35 Services.prefs.setStringPref("sidebar.main.tools", "aichat"); 36 Services.prefs.setBoolPref("sidebar.revamp", true); 37 38 Assert.ok( 39 GenAI.canShowChatEntrypoint, 40 "Can show with revamp and aichat tool" 41 ); 42 43 Services.prefs.setStringPref("sidebar.main.tools", "history"); 44 45 Assert.ok(!GenAI.canShowChatEntrypoint, "Not shown without chatbot tool"); 46 47 Services.prefs.setBoolPref("sidebar.revamp", false); 48 49 Assert.ok(GenAI.canShowChatEntrypoint, "Ignore tools without revamp"); 50 });