badge.test.js (1436B)
1 /* This Source Code Form is subject to the terms of the Mozilla Public 2 * License, v. 2.0. If a copy of the MPL was not distributed with this 3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 4 "use strict"; 5 6 const { mount } = require("enzyme"); 7 8 const { 9 createFactory, 10 } = require("resource://devtools/client/shared/vendor/react.mjs"); 11 const Provider = createFactory( 12 require("resource://devtools/client/shared/vendor/react-redux.js").Provider 13 ); 14 const { 15 setupStore, 16 } = require("resource://devtools/client/accessibility/test/node/helpers.js"); 17 18 const BadgeClass = require("resource://devtools/client/accessibility/components/Badge.js"); 19 const Badge = createFactory(BadgeClass); 20 21 describe("Badge component:", () => { 22 const label = "Contrast"; 23 const tooltip = "Does not meet WCAG standards for accessible text."; 24 const props = { label, tooltip }; 25 26 it("basic render", () => { 27 const store = setupStore(); 28 const wrapper = mount(Provider({ store }, Badge(props))); 29 expect(wrapper.html()).toMatchSnapshot(); 30 31 const badge = wrapper.find(BadgeClass); 32 expect(badge.children().length).toBe(1); 33 expect( 34 badge.find(`span[aria-label="${label}"][title="${tooltip}"]`) 35 ).toHaveLength(1); 36 37 const badgeText = badge.childAt(0); 38 expect(badgeText.hasClass("audit-badge")).toBe(true); 39 expect(badgeText.hasClass("badge")).toBe(true); 40 expect(badgeText.text()).toBe(label); 41 }); 42 });