Skip to content

Commit

Permalink
Remove jQuery from tests
Browse files Browse the repository at this point in the history
  • Loading branch information
kashifatcha committed Dec 19, 2023
1 parent 14df070 commit 4578488
Show file tree
Hide file tree
Showing 9 changed files with 32 additions and 31 deletions.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
40 changes: 20 additions & 20 deletions spec/javascripts/highlight_component.spec.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
'use strict';
describe("Toggling component highlighting", function () {

var $breadcrumbsEl;
var breadcrumbsElement;
var highlightComponent;

beforeEach(function () {
Expand All @@ -21,26 +21,26 @@ describe("Toggling component highlighting", function () {

highlightComponent = new HighlightComponent;

$breadcrumbsEl = $("#jasmine-fixtures .gem-c-breadcrumbs");
breadcrumbsElement = document.querySelector("#jasmine-fixtures .gem-c-breadcrumbs");
});

it("highlights govuk components", function () {
expect($breadcrumbsEl).toHaveClass("highlight-component");
expect(breadcrumbsElement).toHaveClass("highlight-component");
});

it("exposes the component name as data attribute", function () {
expect($breadcrumbsEl.data("component-name")).toEqual("breadcrumbs");
expect(breadcrumbsElement.dataset.componentName).toEqual("breadcrumbs");
});

it("exposes the app name as data attribute", function () {
expect($breadcrumbsEl.data("app-name")).toEqual("gem-c-");
expect(breadcrumbsElement.dataset.appName).toEqual("gem-c-");
});

it("adds the ability to click through to the component's documentation", function () {
spyOn(window, "open").and.callThrough()
var clickEvent = spyOnEvent($breadcrumbsEl, "click");
var clickEvent = spyOnEvent(breadcrumbsElement, "click");

$breadcrumbsEl.click();
breadcrumbsElement.click();

expect(clickEvent).toHaveBeenTriggered();
expect(window.open).toHaveBeenCalledWith(
Expand All @@ -51,16 +51,16 @@ describe("Toggling component highlighting", function () {
it("removes the highlight when toggled off", function () {
highlightComponent.toggleComponents();

expect($breadcrumbsEl).not.toHaveClass("highlight-component");
expect(breadcrumbsElement).not.toHaveClass("highlight-component");
});

it("removes the click functionality when toggled off", function () {
spyOn(window, "open").and.callThrough()
highlightComponent.toggleComponents();

var clickEvent = spyOnEvent($breadcrumbsEl, "click");
var clickEvent = spyOnEvent(breadcrumbsElement, "click");

$breadcrumbsEl.click();
breadcrumbsElement.click();

expect(clickEvent).toHaveBeenTriggered();
expect(window.open).not.toHaveBeenCalled();
Expand All @@ -80,7 +80,7 @@ describe("highlightComponent", function () {
})

describe("components", function () {
var $html;
var html;

beforeEach(function () {
loadFixtures(
Expand All @@ -90,7 +90,7 @@ describe("highlightComponent", function () {
"gem-c-label.html"
)

$html = $("#jasmine-fixtures");
html = document.querySelector("#jasmine-fixtures");
});

it("builds an array of components", function () {
Expand All @@ -101,22 +101,22 @@ describe("highlightComponent", function () {
{
name: "back-to-top",
prefix: "app-c-",
element: $html.find(".app-c-back-to-top")[0],
element: html.querySelector(".app-c-back-to-top"),
},
{
name: "breadcrumbs",
prefix: "gem-c-",
element: $html.find(".gem-c-breadcrumbs")[0],
element: html.querySelector(".gem-c-breadcrumbs"),
},
{
name: "button",
prefix: "gem-c-",
element: $html.find(".gem-c-button")[0],
element: html.querySelector(".gem-c-button"),
},
{
name: "label",
prefix: "gem-c-",
element: $html.find(".gem-c-label")[0],
element: html.querySelector(".gem-c-label"),
}
]
)
Expand All @@ -142,14 +142,14 @@ describe("highlightComponent", function () {

var highlightComponent = new HighlightComponent;

var $buttonEl = $("#jasmine-fixtures .gem-c-button");
expect($buttonEl).not.toHaveClass("highlight-component");
var buttonElement = document.querySelector("#jasmine-fixtures .gem-c-button");
expect(buttonElement).not.toHaveClass("highlight-component");

highlightComponent.toggleComponents();
expect($buttonEl).toHaveClass("highlight-component");
expect(buttonElement).toHaveClass("highlight-component");

highlightComponent.toggleComponents();
expect($buttonEl).not.toHaveClass("highlight-component");
expect(buttonElement).not.toHaveClass("highlight-component");
});
});
});
Expand Down
11 changes: 6 additions & 5 deletions spec/javascripts/show_meta_tags.spec.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
'use strict';
describe("Toggling meta tags", function () {
var $bannerEl;
var showMetaTagsBannerId = "govuk-chrome-toolkit-banner";
var showMetaTagsBannerElement;
var showMetaTagsComponent;

beforeEach(function () {
Expand All @@ -18,21 +19,21 @@ describe("Toggling meta tags", function () {
showMetaTagsComponent = new ShowMetaTagsComponent;
showMetaTagsComponent.toggleMetaTags();

$bannerEl = $("#govuk-chrome-toolkit-banner");
showMetaTagsBannerElement = document.querySelector(`#${showMetaTagsBannerId}`);
});

it("shows meta tags with name and content", function () {
expect($bannerEl.text()).toMatch(/foo/);
expect(showMetaTagsBannerElement.textContent).toMatch(/foo/);
});

it("doesn't show meta tags that use property instead of name", function () {
// No particular reason for this, it just doesn't
expect($bannerEl.text()).not.toMatch(/og:image/);
expect(showMetaTagsBannerElement.textContent).not.toMatch(/og:image/);
});

it("removes the banner when toggled off", function () {
showMetaTagsComponent.toggleMetaTags();

expect($bannerEl.parent()).toHaveLength(0);
expect(showMetaTagsBannerElement).not.toBeVisible();
});
});
12 changes: 6 additions & 6 deletions spec/support/jasmine-browser.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,13 @@
"specFiles": [
"**/show_meta_tags.spec.js",
"**/highlight_component.spec.js",
"**/extract_path_spec.js",
"**/external_links_spec.js",
"**/environment_spec.js",
"**/extract_path.spec.js",
"**/external_links.spec.js",
"**/environment.spec.js",
"**/design_mode_component.spec.js",
"**/content_links_spec.js",
"**/ab_tests_spec.js",
"**/ab_bucket_store_spec.js"
"**/content_links.spec.js",
"**/ab_tests.spec.js",
"**/ab_bucket_store.spec.js"
],
"helpers": [
"helpers/jquery.min.js",
Expand Down

0 comments on commit 4578488

Please sign in to comment.