import { acceptance } from "helpers/qunit-helpers";

acceptance("Cakeday - disconnected", {
  settings: {
    cakeday_enabled: true,
    cakeday_emoji: "cake",
    cakeday_birthday_enabled: true,
    cakeday_birthday_emoji: "birthday"
  },

  pretend(server) {
    const response = object => {
      return [200, { "Content-Type": "application/json" }, object];
    };

    server.get("/t/11.json", () => {
      return response({
        post_stream: {
          posts: [
            {
              id: 14,
              name: null,
              username: "tgx",
              avatar_template:
                "/letter_avatar_proxy/v2/letter/t/ecae2f/{size}.png",
              created_at: "2016-11-21T06:55:17.892Z",
              cooked: "<p>This is a topic written for an acceptance test</p>",
              post_number: 1,
              post_type: 1,
              updated_at: "2016-11-21T06:55:17.892Z",
              reply_count: 0,
              reply_to_post_number: null,
              quote_count: 0,
              avg_time: null,
              incoming_link_count: 0,
              reads: 1,
              score: 0,
              yours: true,
              topic_id: 11,
              topic_slug: "some-really-interesting-topic",
              display_username: null,
              primary_group_name: null,
              primary_group_flair_url: null,
              primary_group_flair_bg_color: null,
              primary_group_flair_color: null,
              version: 1,
              can_edit: true,
              can_delete: false,
              can_recover: true,
              can_wiki: true,
              read: true,
              user_title: null,
              actions_summary: [
                { id: 3, can_act: true },
                { id: 4, can_act: true },
                { id: 5, hidden: true, can_act: true },
                { id: 7, can_act: true },
                { id: 8, can_act: true }
              ],
              moderator: false,
              admin: true,
              staff: true,
              user_id: 1,
              hidden: false,
              hidden_reason_id: null,
              trust_level: 4,
              deleted_at: null,
              user_deleted: false,
              edit_reason: null,
              can_view_edit_history: true,
              wiki: false,
              user_created_at: moment().subtract(1, "year"),
              user_date_of_birth: moment().format("YYYY-MM-DD")
            }
          ],
          stream: [14]
        },
        timeline_lookup: [[1, 0]],
        id: 11,
        title: "Some really interesting topic",
        fancy_title: "Some really interesting topic",
        posts_count: 1,
        created_at: "2016-11-21T06:55:17.771Z",
        views: 1,
        reply_count: 0,
        participant_count: 1,
        like_count: 0,
        last_posted_at: "2016-11-21T06:55:17.892Z",
        visible: true,
        closed: false,
        archived: false,
        has_summary: false,
        archetype: "regular",
        slug: "some-really-interesting-topic",
        category_id: 1,
        word_count: 9,
        deleted_at: null,
        user_id: 1,
        draft: null,
        draft_key: "topic_11",
        draft_sequence: 1,
        posted: true,
        unpinned: null,
        pinned_globally: false,
        pinned: false,
        pinned_at: null,
        pinned_until: null,
        details: {
          auto_close_at: null,
          auto_close_hours: null,
          auto_close_based_on_last_post: false,
          created_by: {
            id: 1,
            username: "tgx",
            avatar_template:
              "/letter_avatar_proxy/v2/letter/t/ecae2f/{size}.png"
          },
          last_poster: {
            id: 1,
            username: "tgx",
            avatar_template:
              "/letter_avatar_proxy/v2/letter/t/ecae2f/{size}.png"
          },
          participants: [
            {
              id: 1,
              username: "tgx",
              avatar_template:
                "/letter_avatar_proxy/v2/letter/t/ecae2f/{size}.png",
              post_count: 1
            }
          ],
          suggested_topics: [
            {
              id: 8,
              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: "2016-11-21T06:53:31.836Z",
              last_posted_at: "2016-11-21T06:53:31.877Z",
              bumped: true,
              bumped_at: "2016-11-21T06:53:31.877Z",
              unseen: false,
              pinned: true,
              unpinned: null,
              excerpt:
                "The first paragraph of this pinned topic will be visible as a welcome message to all new visitors on your homepage. It&#39;s important! \n\nEdit this into a brief description of your community: \n\n\nWho is it for?\nWhat can they &hellip;",
              visible: true,
              closed: false,
              archived: false,
              bookmarked: null,
              liked: null,
              archetype: "regular",
              like_count: 0,
              views: 0,
              category_id: 1,
              posters: [
                {
                  extras: "latest single",
                  description: "Original Poster, Most Recent Poster",
                  user: {
                    id: -1,
                    username: "system",
                    avatar_template:
                      "/letter_avatar_proxy/v2/letter/s/bcef8e/{size}.png"
                  }
                }
              ]
            }
          ],
          notification_level: 3,
          notifications_reason_id: 1,
          can_move_posts: true,
          can_edit: true,
          can_delete: true,
          can_recover: true,
          can_remove_allowed_users: true,
          can_invite_to: true,
          can_create_post: true,
          can_reply_as_new_topic: true,
          can_flag_topic: true
        },
        highest_post_number: 1,
        last_read_post_number: 1,
        last_read_post_id: 14,
        deleted_by: null,
        has_deleted: false,
        actions_summary: [
          { id: 4, count: 0, hidden: false, can_act: true },
          { id: 7, count: 0, hidden: false, can_act: true },
          { id: 8, count: 0, hidden: false, can_act: true }
        ],
        chunk_size: 20,
        bookmarked: false
      });
    });

    server.get("/u/tgx.json", () => {
      return response({
        user: {
          date_of_birth: moment().format("YYYY-MM-DD"),
          created_at: moment().subtract(1, "year")
        }
      });
    });
  }
});

test("User is not logged in", assert => {
  visit("/");
  click("#toggle-hamburger-menu");

  andThen(() => {
    assert.equal(
      find(".cakeday-link").length,
      0,
      "Cakeday is not shown to anonymous users"
    );
  });
});
