mirror of
https://github.com/discourse/discourse.git
synced 2024-12-16 07:33:45 +08:00
174 lines
3.9 KiB
JavaScript
174 lines
3.9 KiB
JavaScript
import { moduleForWidget, widgetTest } from 'helpers/widget-test';
|
|
|
|
moduleForWidget('hamburger-menu');
|
|
|
|
widgetTest('prioritize faq', {
|
|
template: '{{mount-widget widget="hamburger-menu"}}',
|
|
|
|
setup() {
|
|
this.siteSettings.faq_url = 'http://example.com/faq';
|
|
this.currentUser.set('read_faq', false);
|
|
},
|
|
|
|
test(assert) {
|
|
assert.ok(this.$('.faq-priority').length);
|
|
assert.ok(!this.$('.faq-link').length);
|
|
}
|
|
});
|
|
|
|
widgetTest('prioritize faq - user has read', {
|
|
template: '{{mount-widget widget="hamburger-menu"}}',
|
|
|
|
setup() {
|
|
this.siteSettings.faq_url = 'http://example.com/faq';
|
|
this.currentUser.set('read_faq', true);
|
|
},
|
|
|
|
test(assert) {
|
|
assert.ok(!this.$('.faq-priority').length);
|
|
assert.ok(this.$('.faq-link').length);
|
|
}
|
|
});
|
|
|
|
widgetTest('staff menu - not staff', {
|
|
template: '{{mount-widget widget="hamburger-menu"}}',
|
|
|
|
setup() {
|
|
this.currentUser.set('staff', false);
|
|
},
|
|
|
|
test(assert) {
|
|
assert.ok(!this.$('.admin-link').length);
|
|
}
|
|
});
|
|
|
|
widgetTest('staff menu', {
|
|
template: '{{mount-widget widget="hamburger-menu"}}',
|
|
|
|
setup() {
|
|
this.currentUser.setProperties({ staff: true, site_flagged_posts_count: 3 });
|
|
},
|
|
|
|
test(assert) {
|
|
assert.ok(this.$('.admin-link').length);
|
|
assert.ok(this.$('.flagged-posts-link').length);
|
|
assert.equal(this.$('.flagged-posts').text(), '3');
|
|
assert.ok(!this.$('.settings-link').length);
|
|
}
|
|
});
|
|
|
|
widgetTest('staff menu - admin', {
|
|
template: '{{mount-widget widget="hamburger-menu"}}',
|
|
|
|
setup() {
|
|
this.currentUser.setProperties({ staff: true, admin: true });
|
|
},
|
|
|
|
test(assert) {
|
|
assert.ok(this.$('.settings-link').length);
|
|
}
|
|
});
|
|
|
|
|
|
widgetTest('queued posts', {
|
|
template: '{{mount-widget widget="hamburger-menu"}}',
|
|
|
|
setup() {
|
|
this.currentUser.setProperties({
|
|
staff: true,
|
|
show_queued_posts: true,
|
|
post_queue_new_count: 5
|
|
});
|
|
},
|
|
|
|
test(assert) {
|
|
assert.ok(this.$('.queued-posts-link').length);
|
|
assert.equal(this.$('.queued-posts').text(), '5');
|
|
}
|
|
});
|
|
|
|
widgetTest('queued posts - disabled', {
|
|
template: '{{mount-widget widget="hamburger-menu"}}',
|
|
|
|
setup() {
|
|
this.currentUser.setProperties({ staff: true, show_queued_posts: false });
|
|
},
|
|
|
|
test(assert) {
|
|
assert.ok(!this.$('.queued-posts-link').length);
|
|
}
|
|
});
|
|
|
|
|
|
widgetTest('logged in links', {
|
|
template: '{{mount-widget widget="hamburger-menu"}}',
|
|
|
|
test(assert) {
|
|
assert.ok(this.$('.new-topics-link').length);
|
|
assert.ok(this.$('.unread-topics-link').length);
|
|
}
|
|
});
|
|
|
|
widgetTest('general links', {
|
|
template: '{{mount-widget widget="hamburger-menu"}}',
|
|
anonymous: true,
|
|
|
|
test(assert) {
|
|
assert.ok(this.$('.latest-topics-link').length);
|
|
assert.ok(!this.$('.new-topics-link').length);
|
|
assert.ok(!this.$('.unread-topics-link').length);
|
|
assert.ok(this.$('.top-topics-link').length);
|
|
assert.ok(this.$('.badge-link').length);
|
|
assert.ok(this.$('.category-link').length > 0);
|
|
}
|
|
});
|
|
|
|
widgetTest('badges link - disabled', {
|
|
template: '{{mount-widget widget="hamburger-menu"}}',
|
|
|
|
setup() {
|
|
this.siteSettings.enable_badges = false;
|
|
},
|
|
|
|
test(assert) {
|
|
assert.ok(!this.$('.badge-link').length);
|
|
}
|
|
});
|
|
|
|
widgetTest('badges link', {
|
|
template: '{{mount-widget widget="hamburger-menu"}}',
|
|
|
|
test(assert) {
|
|
assert.ok(this.$('.badge-link').length);
|
|
}
|
|
});
|
|
|
|
widgetTest('user directory link', {
|
|
template: '{{mount-widget widget="hamburger-menu"}}',
|
|
|
|
test(assert) {
|
|
assert.ok(this.$('.user-directory-link').length);
|
|
}
|
|
});
|
|
|
|
widgetTest('user directory link - disabled', {
|
|
template: '{{mount-widget widget="hamburger-menu"}}',
|
|
|
|
setup() {
|
|
this.siteSettings.enable_user_directory = false;
|
|
},
|
|
|
|
test(assert) {
|
|
assert.ok(!this.$('.user-directory-link').length);
|
|
}
|
|
});
|
|
|
|
widgetTest('general links', {
|
|
template: '{{mount-widget widget="hamburger-menu"}}',
|
|
|
|
test(assert) {
|
|
assert.ok(this.$('.about-link').length);
|
|
assert.ok(this.$('.keyboard-shortcuts-link').length);
|
|
}
|
|
});
|