import { moduleForWidget, widgetTest } from "helpers/widget-test"; moduleForWidget("header"); widgetTest("rendering basics", { template: '{{mount-widget widget="header"}}', test(assert) { assert.ok(find("header.d-header").length); assert.ok(find("#site-logo").length); } }); widgetTest("sign up / login buttons", { template: '{{mount-widget widget="header" showCreateAccount=(action "showCreateAccount") showLogin=(action "showLogin") args=args}}', anonymous: true, beforeEach() { this.set("args", { canSignUp: true }); this.on("showCreateAccount", () => (this.signupShown = true)); this.on("showLogin", () => (this.loginShown = true)); }, async test(assert) { assert.ok(find("button.sign-up-button").length); assert.ok(find("button.login-button").length); await click("button.sign-up-button"); assert.ok(this.signupShown); await click("button.login-button"); assert.ok(this.loginShown); } }); widgetTest("anon when login required", { template: '{{mount-widget widget="header" showCreateAccount=(action "showCreateAccount") showLogin=(action "showLogin") args=args}}', anonymous: true, beforeEach() { this.set("args", { canSignUp: true }); this.on("showCreateAccount", () => (this.signupShown = true)); this.on("showLogin", () => (this.loginShown = true)); this.siteSettings.login_required = true; }, test(assert) { assert.ok(exists("button.login-button")); assert.ok(exists("button.sign-up-button")); assert.ok(!exists("#search-button")); assert.ok(!exists("#toggle-hamburger-menu")); } }); widgetTest("logged in when login required", { template: '{{mount-widget widget="header" showCreateAccount=(action "showCreateAccount") showLogin=(action "showLogin") args=args}}', beforeEach() { this.set("args", { canSignUp: true }); this.on("showCreateAccount", () => (this.signupShown = true)); this.on("showLogin", () => (this.loginShown = true)); this.siteSettings.login_required = true; }, test(assert) { assert.ok(!exists("button.login-button")); assert.ok(!exists("button.sign-up-button")); assert.ok(exists("#search-button")); assert.ok(exists("#toggle-hamburger-menu")); assert.ok(exists("#current-user")); } });