diff options
Diffstat (limited to 'browser/components/newtab/test/browser/browser_discovery_card.js')
-rw-r--r-- | browser/components/newtab/test/browser/browser_discovery_card.js | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/browser/components/newtab/test/browser/browser_discovery_card.js b/browser/components/newtab/test/browser/browser_discovery_card.js new file mode 100644 index 0000000000..c1d9ec6b4c --- /dev/null +++ b/browser/components/newtab/test/browser/browser_discovery_card.js @@ -0,0 +1,44 @@ +// If this fails it could be because of schema changes. +// `ds_layout.json` defines the newtab page format +// `topstories.json` defines the stories shown +test_newtab({ + async before({ pushPrefs }) { + await pushPrefs([ + "browser.newtabpage.activity-stream.discoverystream.config", + JSON.stringify({ + api_key_pref: "extensions.pocket.oAuthConsumerKey", + collapsible: true, + enabled: true, + show_spocs: false, + hardcoded_layout: false, + personalized: true, + layout_endpoint: + "https://example.com/browser/browser/components/newtab/test/browser/ds_layout.json", + }), + ]); + await pushPrefs([ + "browser.newtabpage.activity-stream.discoverystream.endpoints", + "https://example.com", + ]); + }, + test: async function test_card_render() { + await ContentTaskUtils.waitForCondition( + () => + content.document.querySelectorAll( + "[data-section-id='topstories'] .ds-card-link" + ).length + ); + let found = content.document.querySelectorAll( + "[data-section-id='topstories'] .ds-card-link" + ).length; + is(found, 1, "there should be 1 topstory card"); + let cardHostname = content.document.querySelector( + "[data-section-id='topstories'] .source" + ).innerText; + is( + cardHostname, + "bbc.com", + `Card hostname is ${cardHostname} instead of bbc.com` + ); + }, +}); |