Files
Syed Ali Abbas Zaidi 5549db4d80 fix: migrate remaining eslint-config-edx (#31760)
* fix: migrate remaining eslint-config-edx

* refactor: updated eslint rules according to eslint-config-edx-es5

* refactor: add custom rules to suppress unnecessary eslint issues

* refactor: add custom rules to internal eslint configs

* fix: fix all indentation issues

* chore: update lock file
2023-03-02 16:16:50 +05:00

58 lines
2.0 KiB
JavaScript

(function(define) {
'use strict';
define(['jquery',
'underscore',
'js/components/header/views/header',
'js/components/header/models/header'
],
function($, _, HeaderView, HeaderModel) {
describe('header component view', function() {
var model, view;
var testBreadcrumbs = function(breadcrumbs) {
model.set('breadcrumbs', breadcrumbs);
expect(view.$('nav.breadcrumbs').length).toBe(1);
_.each(view.$('.nav-item'), function(el, index) {
expect($(el).attr('href')).toEqual(breadcrumbs[index].url);
expect($(el).text()).toEqual(breadcrumbs[index].title);
});
};
beforeEach(function() {
model = new HeaderModel({
title: 'Test title',
description: 'Test description'
});
view = new HeaderView({
model: model
});
});
it('can render itself', function() {
expect(view.$el.text()).toContain('Test title');
expect(view.$el.text()).toContain('Test description');
});
it('does not show breadcrumbs by default', function() {
expect(view.$el.html()).not.toContain('<nav class="breadcrumbs">');
});
it('shows breadcrumbs if they are supplied', function() {
testBreadcrumbs([
{url: 'url1', title: 'Crumb 1'},
{url: 'url2', title: 'Crumb 2'}
]);
testBreadcrumbs([{url: 'url1', title: 'Crumb 1'}]);
});
it('renders itself when its model changes', function() {
expect(view.$el.text()).toContain('Test title');
model.set('title', 'Changed title');
expect(view.$el.text()).toContain('Changed title');
});
});
}
);
}).call(this, define || RequireJS.define);