import { acceptance, count } from "discourse/tests/helpers/qunit-helpers"; import { clearPopupMenuOptionsCallback } from "discourse/controllers/composer"; import { test } from "qunit"; import { click, visit } from "@ember/test-helpers"; acceptance("Poll quote", function (needs) { needs.user(); needs.settings({ poll_enabled: true }); needs.hooks.beforeEach(() => { clearPopupMenuOptionsCallback(); }); needs.pretender((server, helper) => { server.get("/posts/by_number/130/1", () => { return helper.response({ id: 133, name: null, username: "bianca", avatar_template: "/letter_avatar_proxy/v4/letter/b/3be4f8/{size}.png", created_at: "2020-08-17T12:05:24.577Z", cooked: '
\n
\n
\n
    \n
  • Alpha
  • \n
  • Beta
  • \n
\n
\n
\n

\n0\nvoters\n

\n
\n
\n
\n
\n
\n
\n
    \n
  • First
  • \n
  • Second
  • \n
\n
\n
\n

\n0\nvoters\n

\n
\n
\n
', post_number: 1, post_type: 1, updated_at: "2020-08-17T12:05:24.577Z", reply_count: 0, reply_to_post_number: null, quote_count: 0, incoming_link_count: 0, reads: 1, readers_count: 0, score: 0.2, yours: true, topic_id: 130, topic_slug: "topic-with-two-polls", display_username: null, primary_group_name: null, flair_url: null, flair_bg_color: null, flair_color: null, version: 1, can_edit: true, can_delete: false, can_recover: false, can_wiki: true, user_title: "Tester", title_is_group: false, bookmarked: false, bookmarks: [], raw: "[poll name=poll1 type=regular results=always chartType=bar]\n* Alpha\n* Beta\n[/poll]\n\n[poll name=poll2 type=regular results=always chartType=bar]\n* First\n* Second\n[/poll]", actions_summary: [ { id: 3, can_act: true, }, { id: 4, can_act: true, }, { id: 8, can_act: true, }, { id: 7, can_act: true, }, ], moderator: false, admin: true, staff: true, user_id: 1, hidden: false, trust_level: 0, deleted_at: null, user_deleted: false, edit_reason: null, can_view_edit_history: true, wiki: false, reviewable_id: null, reviewable_score_count: 0, reviewable_score_pending_count: 0, calendar_details: [], polls: [ { name: "poll1", type: "regular", status: "open", results: "always", options: [ { id: "bf48cd4958a17180e2a298e246988f94", html: "Alpha", votes: 0, }, { id: "c19aa835729ab0413a84a2c9850c4005", html: "Beta", votes: 0, }, ], voters: 0, chart_type: "bar", }, { name: "poll2", type: "regular", status: "open", results: "always", options: [ { id: "def034c6770c6fd3754c054ef9ec4721", html: "First", votes: 0, }, { id: "e0f55d1a981683789bec2a0b05eb70ef", html: "Second", votes: 0, }, ], voters: 0, chart_type: "bar", }, ], }); }); server.get("/t/topic_with_two_quoted_polls.json", () => { return helper.response({ post_stream: { posts: [ { id: 134, name: null, username: "bianca", avatar_template: "/letter_avatar_proxy/v4/letter/b/3be4f8/{size}.png", created_at: "2020-08-17T12:08:24.043Z", cooked: '\n', post_number: 1, post_type: 1, updated_at: "2020-08-17T12:08:24.043Z", reply_count: 0, reply_to_post_number: null, quote_count: 0, incoming_link_count: 0, reads: 1, readers_count: 0, score: 0, yours: true, topic_id: 131, topic_slug: "topic-with-two-quoted-polls", display_username: null, primary_group_name: null, flair_url: null, flair_bg_color: null, flair_color: null, version: 1, can_edit: true, can_delete: false, can_recover: false, can_wiki: true, link_counts: [ { url: "http://forum.example.com/t/topic-with-two-polls/130", internal: true, reflection: false, title: "Topic with two polls", clicks: 0, }, ], read: true, user_title: "Tester", title_is_group: false, bookmarked: false, bookmarks: [], actions_summary: [ { id: 3, can_act: true, }, { id: 4, can_act: true, }, { id: 8, can_act: true, }, { id: 7, can_act: true, }, ], moderator: false, admin: true, staff: true, user_id: 1, hidden: false, trust_level: 0, deleted_at: null, user_deleted: false, edit_reason: null, can_view_edit_history: true, wiki: false, reviewable_id: 0, reviewable_score_count: 0, reviewable_score_pending_count: 0, calendar_details: [], }, ], stream: [134], }, timeline_lookup: [[1, 0]], suggested_topics: [ { id: 7, title: "Welcome to Discourse", fancy_title: "Welcome to Discourse", slug: "welcome-to-discourse", posts_count: 1, reply_count: 0, highest_post_number: 1, image_url: null, created_at: "2020-08-11T12:43:04.894Z", last_posted_at: "2020-08-11T12:43:04.959Z", bumped: true, bumped_at: "2020-08-11T12:43:04.959Z", archetype: "regular", unseen: false, last_read_post_number: 1, unread_posts: 0, pinned: false, unpinned: true, visible: true, closed: false, archived: false, notification_level: 1, bookmarked: false, bookmarks: [], liked: false, tags: [], like_count: 0, views: 1, category_id: 1, featured_link: null, posters: [ { extras: "latest single", description: "Original Poster, Most Recent Poster", user: { id: 5, username: "foo2", name: null, avatar_template: "/letter_avatar_proxy/v4/letter/f/8edcca/{size}.png", }, }, ], }, { id: 130, title: "Topic with two polls", fancy_title: "Topic with two polls", slug: "topic-with-two-polls", posts_count: 1, reply_count: 0, highest_post_number: 1, image_url: null, created_at: "2020-08-17T12:05:24.500Z", last_posted_at: "2020-08-17T12:05:24.577Z", bumped: true, bumped_at: "2020-08-17T12:05:24.577Z", archetype: "regular", unseen: false, last_read_post_number: 1, unread_posts: 0, pinned: false, unpinned: null, visible: true, closed: false, archived: false, notification_level: 3, bookmarked: false, bookmarks: [], liked: false, tags: [], like_count: 0, views: 1, category_id: 1, featured_link: null, posters: [ { extras: "latest single", description: "Original Poster, Most Recent Poster", user: { id: 1, username: "bianca", name: null, avatar_template: "/letter_avatar_proxy/v4/letter/b/3be4f8/{size}.png", }, }, ], }, ], tags: [], id: 131, title: "Topic with two quoted polls", fancy_title: "Topic with two quoted polls", posts_count: 1, created_at: "2020-08-17T12:08:23.918Z", views: 1, reply_count: 0, like_count: 0, last_posted_at: "2020-08-17T12:08:24.043Z", visible: true, closed: false, archived: false, has_summary: false, archetype: "regular", slug: "topic-with-two-quoted-polls", category_id: 1, word_count: 9, deleted_at: null, user_id: 1, featured_link: null, pinned_globally: false, pinned_at: null, pinned_until: null, image_url: null, draft: null, draft_key: "topic_131", draft_sequence: 0, posted: true, unpinned: null, pinned: false, current_post_number: 1, highest_post_number: 1, last_read_post_number: 1, last_read_post_id: 134, deleted_by: null, has_deleted: false, actions_summary: [ { id: 4, count: 0, hidden: false, can_act: true, }, { id: 8, count: 0, hidden: false, can_act: true, }, { id: 7, count: 0, hidden: false, can_act: true, }, ], chunk_size: 20, bookmarked: false, bookmarks: [], topic_timer: null, message_bus_last_id: 2, participant_count: 1, queued_posts_count: 0, show_read_indicator: false, thumbnails: null, can_vote: false, vote_count: null, user_voted: false, details: { notification_level: 3, notifications_reason_id: 1, can_move_posts: true, can_edit: true, can_delete: true, can_remove_allowed_users: true, can_invite_to: true, can_invite_via_email: true, can_create_post: true, can_reply_as_new_topic: true, can_flag_topic: true, can_convert_topic: true, can_review_topic: true, can_close_topic: true, can_archive_topic: true, can_split_merge_topic: true, can_edit_staff_notes: true, can_remove_self_id: 1, participants: [ { id: 1, username: "bianca", name: null, avatar_template: "/letter_avatar_proxy/v4/letter/b/3be4f8/{size}.png", post_count: 1, primary_group_name: null, flair_url: null, flair_color: null, flair_bg_color: null, }, ], created_by: { id: 1, username: "bianca", name: null, avatar_template: "/letter_avatar_proxy/v4/letter/b/3be4f8/{size}.png", }, last_poster: { id: 1, username: "bianca", name: null, avatar_template: "/letter_avatar_proxy/v4/letter/b/3be4f8/{size}.png", }, }, pending_posts: [], }); }); }); test("renders and extends", async function (assert) { await visit("/t/-/topic_with_two_quoted_polls"); await click(".quote-controls"); assert.strictEqual(count(".poll"), 2, "polls are rendered"); assert.strictEqual(count(".poll-buttons"), 2, "polls are extended"); }); });