From 194b818dc429bf7137c37a13391693aaeb8179cc Mon Sep 17 00:00:00 2001 From: Kyle Zhao Date: Wed, 9 Aug 2017 14:20:44 -0400 Subject: [PATCH] add a test to make sure excerpts are only shown if provided and excerpts are only provided if 'solved_quote_length' > 0 --- .../acceptance/discourse-solved-test.js.es6 | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 test/javascripts/acceptance/discourse-solved-test.js.es6 diff --git a/test/javascripts/acceptance/discourse-solved-test.js.es6 b/test/javascripts/acceptance/discourse-solved-test.js.es6 new file mode 100644 index 0000000..307ea02 --- /dev/null +++ b/test/javascripts/acceptance/discourse-solved-test.js.es6 @@ -0,0 +1,37 @@ +import { acceptance } from "helpers/qunit-helpers"; + +acceptance('Discourse Solved Plugin', { + loggedIn: true, + beforeEach() { + const response = object => { + return [200, { "Content-Type": "application/json" }, object]; + }; + + const postStreamWithAcceptedAnswerExcerpt = excerpt => { + return {"post_stream":{"posts":[{"id":21,"name":null,"username":"kzh","avatar_template":"/letter_avatar_proxy/v2/letter/k/ac91a4/{size}.png","created_at":"2017-08-08T20:11:32.542Z","cooked":"

How do I declare a variable in ruby?

","post_number":1,"post_type":1,"updated_at":"2017-08-08T21:03:30.521Z","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":23,"topic_slug":"test-solved","display_username":null,"primary_group_name":null,"primary_group_flair_url":null,"primary_group_flair_bg_color":null,"primary_group_flair_color":null,"version":2,"can_edit":true,"can_delete":false,"can_recover":null,"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,"can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false},{"id":22,"name":null,"username":"kzh","avatar_template":"/letter_avatar_proxy/v2/letter/k/ac91a4/{size}.png","created_at":"2017-08-08T20:12:04.657Z","cooked":"

this is a long answer that potentially solves the question

","post_number":2,"post_type":1,"updated_at":"2017-08-08T21:20:24.417Z","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":23,"topic_slug":"test-solved","display_username":null,"primary_group_name":null,"primary_group_flair_url":null,"primary_group_flair_bg_color":null,"primary_group_flair_color":null,"version":2,"can_edit":true,"can_delete":true,"can_recover":null,"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,"can_accept_answer":false,"can_unaccept_answer":true,"accepted_answer":true}],"stream":[21,22]},"timeline_lookup":[[1,0]],"id":23,"title":"Test solved","fancy_title":"Test solved","posts_count":2,"created_at":"2017-08-08T20:11:32.098Z","views":6,"reply_count":0,"participant_count":1,"like_count":0,"last_posted_at":"2017-08-08T20:12:04.657Z","visible":true,"closed":false,"archived":false,"has_summary":false,"archetype":"regular","slug":"test-solved","category_id":1,"word_count":18,"deleted_at":null,"pending_posts_count":0,"user_id":1,"pm_with_non_human_user":false,"draft":null,"draft_key":"topic_23","draft_sequence":6,"posted":true,"unpinned":null,"pinned_globally":false,"pinned":false,"pinned_at":null,"pinned_until":null,"details":{"created_by":{"id":1,"username":"kzh","avatar_template":"/letter_avatar_proxy/v2/letter/k/ac91a4/{size}.png"},"last_poster":{"id":1,"username":"kzh","avatar_template":"/letter_avatar_proxy/v2/letter/k/ac91a4/{size}.png"},"participants":[{"id":1,"username":"kzh","avatar_template":"/letter_avatar_proxy/v2/letter/k/ac91a4/{size}.png","post_count":2,"primary_group_name":null,"primary_group_flair_url":null,"primary_group_flair_color":null,"primary_group_flair_bg_color":null}],"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},"highest_post_number":2,"last_read_post_number":2,"last_read_post_id":22,"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,"tags":[],"featured_link":null,"topic_timer":null,"message_bus_last_id":0,"accepted_answer":{"post_number":2,"username":"kzh","excerpt":excerpt}}; + }; + + server.get('/t/11.json', () => { // eslint-disable-line no-undef + return response(postStreamWithAcceptedAnswerExcerpt("this is an excerpt")); + }); + + server.get('/t/12.json', () => { // eslint-disable-line no-undef + return response(postStreamWithAcceptedAnswerExcerpt(null)); + }); + } +}); + +test('A topic with an accepted answer shows an excerpt of the answer, if provided', assert => { + visit("/t/with-excerpt/11"); + + andThen(() => { + assert.ok(exists('.quote blockquote:contains("this is an excerpt")')); + }); + + visit("/t/without-excerpt/12"); + + andThen(() => { + assert.notOk(exists('.quote blockquote')); + assert.ok(exists('.quote .title.title-only')); + }); +});