discourse-adplugin/test/javascripts/acceptance/mixed-ads-test.js

65 lines
2.0 KiB
JavaScript
Raw Normal View History

2023-11-07 12:07:33 -05:00
import { visit } from "@ember/test-helpers";
import { test } from "qunit";
2021-11-12 13:13:46 -05:00
import {
acceptance,
updateCurrentUser,
} from "discourse/tests/helpers/qunit-helpers";
2019-05-08 11:17:40 -04:00
acceptance("Mixed Ads", function (needs) {
needs.user();
needs.settings({
2019-05-08 11:17:40 -04:00
house_ads_after_nth_post: 6,
house_ads_frequency: 50,
dfp_publisher_id: "MYdfpID",
dfp_through_trust_level: 2,
dfp_topic_list_top_code: "list_top_ad_unit",
dfp_topic_list_top_ad_sizes: "728*90 - leaderboard",
dfp_mobile_topic_list_top_code: "mobile_list_top_ad_unit",
dfp_mobile_topic_list_top_ad_size: "300*250 - medium rectangle",
dfp_post_bottom_code: "post_bottom_ad_unit",
dfp_post_bottom_ad_sizes: "728*90 - leaderboard",
dfp_mobile_post_bottom_code: "mobile_post_bottom_ad_unit",
dfp_mobile_post_bottom_ad_size: "300*250 - medium rectangle",
2020-09-04 07:24:14 -04:00
dfp_nth_post_code: 6,
});
needs.site({
2019-05-08 11:17:40 -04:00
house_creatives: {
settings: {
topic_list_top: "Topic List",
topic_above_post_stream: "Above Post Stream",
topic_above_suggested: "Above Suggested",
post_bottom: "Post",
2020-09-04 07:24:14 -04:00
after_nth_post: 6,
2019-05-08 11:17:40 -04:00
},
creatives: {
"Topic List": "<div class='h-topic-list'>TOPIC LIST</div>",
"Above Post Stream":
"<div class='h-above-post-stream'>ABOVE POST STREAM</div>",
"Above Suggested":
"<div class='h-above-suggested'>ABOVE SUGGESTED</div>",
2020-09-04 07:24:14 -04:00
Post: "<div class='h-post'>BELOW POST</div>",
},
},
});
2019-05-08 11:17:40 -04:00
test("correct ads show", async (assert) => {
updateCurrentUser({ staff: false, trust_level: 1 });
await visit("/t/280"); // 20 posts
2019-05-08 11:17:40 -04:00
const houseAdsCount = find(".house-creative").length;
const dfpAdsCount = find(".google-dfp-ad").length;
2019-05-08 11:17:40 -04:00
assert.ok(houseAdsCount > 1);
assert.ok(houseAdsCount < 4);
assert.ok(dfpAdsCount > 1);
assert.ok(dfpAdsCount < 4);
2019-05-08 11:17:40 -04:00
await visit("/latest");
assert.equal(
find(".h-topic-list-top, .dfp-ad-topic-list-top").length,
1,
"it should render ad above topic list"
);
});
2019-05-08 11:17:40 -04:00
});