add a test to make sure excerpts are only shown if provided

and excerpts are only provided if 'solved_quote_length' > 0
This commit is contained in:
Kyle Zhao 2017-08-09 14:20:44 -04:00
parent 9104e2292c
commit 194b818dc4
1 changed files with 37 additions and 0 deletions

View File

@ -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":"<p>How do I declare a variable in ruby?</p>","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":"<p>this is a long answer that potentially solves the question</p>","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'));
});
});