Add acceptance test for full page search

This commit is contained in:
Robin Ward 2015-07-15 11:16:49 -04:00
parent b0802abae2
commit f647174c95
4 changed files with 787 additions and 2 deletions

View File

@ -40,7 +40,8 @@ describe PostSerializer do
serializer = PostSerializer.new(post, scope: Guardian.new(post.user), root: false) serializer = PostSerializer.new(post, scope: Guardian.new(post.user), root: false)
notify_user_action = serializer.actions_summary.find { |a| a[:id] == PostActionType.types[:notify_user] } notify_user_action = serializer.actions_summary.find { |a| a[:id] == PostActionType.types[:notify_user] }
expect(notify_user_action).to be_blank expect(notify_user_action).to be_blank
end et:q!
n
end end
context "a post by a nuked user" do context "a post by a nuked user" do

View File

@ -0,0 +1,11 @@
import { acceptance } from "helpers/qunit-helpers";
acceptance("Search - Full Page");
test("search", (assert) => {
visit("/search?q=trout");
andThen(() => {
assert.ok(find('input.search').length > 0);
assert.ok(find('.topic-list-item').length > 0);
});
});

View File

@ -1,4 +1,776 @@
export default { export default {
"/search.json": {
"users":[
{
"id":19,
"username":"eviltrout",
"uploaded_avatar_id":5275,
"avatar_template":"/user_avatar/meta.discourse.org/eviltrout/{size}/5275_1.png"
},
{
"id":8617,
"username":"Mittineague",
"uploaded_avatar_id":40997,
"avatar_template":"/user_avatar/meta.discourse.org/mittineague/{size}/40997_1.png"
},
{
"id":12662,
"username":"singmajesty",
"uploaded_avatar_id":36342,
"avatar_template":"/user_avatar/meta.discourse.org/singmajesty/{size}/36342_1.png"
},
{
"id":6626,
"username":"riking",
"uploaded_avatar_id":40212,
"avatar_template":"/user_avatar/meta.discourse.org/riking/{size}/40212_1.png"
},
{
"id":8300,
"username":"cpradio",
"uploaded_avatar_id":4970,
"avatar_template":"/user_avatar/meta.discourse.org/cpradio/{size}/4970_1.png"
},
{
"id":2602,
"username":"georgekaplan59",
"uploaded_avatar_id":31197,
"avatar_template":"/user_avatar/meta.discourse.org/georgekaplan59/{size}/31197_1.png"
},
{
"id":754,
"username":"danneu",
"uploaded_avatar_id":6540,
"avatar_template":"/user_avatar/meta.discourse.org/danneu/{size}/6540_1.png"
},
{
"id":1995,
"username":"zogstrip",
"uploaded_avatar_id":8630,
"avatar_template":"/user_avatar/meta.discourse.org/zogstrip/{size}/8630_1.png"
},
{
"id":1,
"username":"sam",
"uploaded_avatar_id":5243,
"avatar_template":"/user_avatar/meta.discourse.org/sam/{size}/5243_1.png"
},
{
"id":8810,
"username":"fantasticfears",
"uploaded_avatar_id":36351,
"avatar_template":"/user_avatar/meta.discourse.org/fantasticfears/{size}/36351_1.png"
},
{
"id":14446,
"username":"ladydanger",
"uploaded_avatar_id":null,
"avatar_template":"/letter_avatar/ladydanger/{size}/5_fcf819f9b3791cb8c87edf29c8984f83.png"
},
{
"id":14474,
"username":"dnatoli_redbubble",
"uploaded_avatar_id":null,
"avatar_template":"/letter_avatar/dnatoli_redbubble/{size}/5_fcf819f9b3791cb8c87edf29c8984f83.png"
},
{
"id":14514,
"username":"adelsmee",
"uploaded_avatar_id":40445,
"avatar_template":"/user_avatar/meta.discourse.org/adelsmee/{size}/40445_1.png"
},
{
"id":32,
"username":"codinghorror",
"uploaded_avatar_id":5297,
"avatar_template":"/user_avatar/meta.discourse.org/codinghorror/{size}/5297_1.png"
},
{
"id":14448,
"username":"snjqi188",
"uploaded_avatar_id":null,
"avatar_template":"/letter_avatar/snjqi188/{size}/5_fcf819f9b3791cb8c87edf29c8984f83.png"
},
{
"id":14657,
"username":"Alex_Flom",
"uploaded_avatar_id":41037,
"avatar_template":"/user_avatar/meta.discourse.org/alex_flom/{size}/41037_1.png"
},
{
"id":14353,
"username":"Simon_Cossar",
"uploaded_avatar_id":40130,
"avatar_template":"/user_avatar/meta.discourse.org/simon_cossar/{size}/40130_1.png"
},
{
"id":14184,
"username":"takaminacchan",
"uploaded_avatar_id":39685,
"avatar_template":"/user_avatar/meta.discourse.org/takaminacchan/{size}/39685_1.png"
},
{
"id":9931,
"username":"Frank",
"uploaded_avatar_id":null,
"avatar_template":"/letter_avatar/frank/{size}/5_fcf819f9b3791cb8c87edf29c8984f83.png"
},
{
"id":8364,
"username":"codetricity",
"uploaded_avatar_id":3773,
"avatar_template":"/user_avatar/meta.discourse.org/codetricity/{size}/3773_1.png"
},
{
"id":4949,
"username":"brodock",
"uploaded_avatar_id":13541,
"avatar_template":"/user_avatar/meta.discourse.org/brodock/{size}/13541_1.png"
},
{
"id":14,
"username":"clay",
"uploaded_avatar_id":5265,
"avatar_template":"/user_avatar/meta.discourse.org/clay/{size}/5265_1.png"
},
{
"id":8385,
"username":"zchrykng",
"uploaded_avatar_id":18517,
"avatar_template":"/user_avatar/meta.discourse.org/zchrykng/{size}/18517_1.png"
},
{
"id":3520,
"username":"arlyxiao",
"uploaded_avatar_id":11206,
"avatar_template":"/user_avatar/meta.discourse.org/arlyxiao/{size}/11206_1.png"
},
{
"id":3493,
"username":"richp10",
"uploaded_avatar_id":11160,
"avatar_template":"/user_avatar/meta.discourse.org/richp10/{size}/11160_1.png"
},
{
"id":2395,
"username":"lookingsideways",
"uploaded_avatar_id":9290,
"avatar_template":"/user_avatar/meta.discourse.org/lookingsideways/{size}/9290_1.png"
},
{
"id":2477,
"username":"billybonks",
"uploaded_avatar_id":9430,
"avatar_template":"/user_avatar/meta.discourse.org/billybonks/{size}/9430_1.png"
},
{
"id":7301,
"username":"jasonwhat",
"uploaded_avatar_id":null,
"avatar_template":"/letter_avatar/jasonwhat/{size}/5_fcf819f9b3791cb8c87edf29c8984f83.png"
},
{
"id":1819,
"username":"stephan",
"uploaded_avatar_id":8327,
"avatar_template":"/user_avatar/meta.discourse.org/stephan/{size}/8327_1.png"
},
{
"id":2,
"username":"neil",
"uploaded_avatar_id":5245,
"avatar_template":"/user_avatar/meta.discourse.org/neil/{size}/5245_1.png"
},
{
"id":2471,
"username":"robconery",
"uploaded_avatar_id":9418,
"avatar_template":"/user_avatar/meta.discourse.org/robconery/{size}/9418_1.png"
}
],
"topic_list":{
"can_create_topic":false,
"draft":null,
"draft_key":"new_topic",
"draft_sequence":null,
"per_page":30,
"topics":[
{
"id":9318,
"title":"Discourse has a new Markdown Parser!",
"fancy_title":"Discourse has a new Markdown Parser!",
"slug":"discourse-has-a-new-markdown-parser",
"posts_count":1,
"reply_count":0,
"highest_post_number":1,
"image_url":null,
"created_at":"2013-08-24T18:08:06.063Z",
"last_posted_at":"2013-08-24T18:08:06.259Z",
"bumped":true,
"bumped_at":"2015-03-09T04:54:43.977Z",
"unseen":false,
"linked_post_number":1,
"pinned":false,
"unpinned":null,
"excerpt":"...0 lines of Javascript code! An inline example Let's say you want to replace all occurances of \"evil trout\" with a link that says \"EVIL TROUT IS AWESOME\": Discourse.Dialect.on(\"register\", function(event) {...",
"visible":true,
"closed":false,
"archived":false,
"bookmarked":null,
"liked":null,
"views":2645,
"like_count":21,
"has_summary":false,
"archetype":"regular",
"last_poster_username":"eviltrout",
"category_id":7,
"pinned_globally":false,
"posters":[
{
"extras":"latest single",
"description":"Original Poster, Most Recent Poster",
"user_id":19
}
]
},
{
"id":21792,
"title":"Adding custom emoji/emoticons via a plugin",
"fancy_title":"Adding custom emoji/emoticons via a plugin",
"slug":"adding-custom-emoji-emoticons-via-a-plugin",
"posts_count":34,
"reply_count":24,
"highest_post_number":35,
"image_url":null,
"created_at":"2014-11-03T21:48:48.283Z",
"last_posted_at":"2014-12-23T12:45:11.245Z",
"bumped":true,
"bumped_at":"2014-12-23T12:45:11.245Z",
"unseen":false,
"linked_post_number":1,
"pinned":false,
"unpinned":null,
"excerpt":"...plugin that executes the following method to register a new emoji: Discourse.Dialect.registerEmoji('trout', 'http://cdn.eviltrout.com/images/trout-square.jpg'); Here's a sample plugin that adds a :trout: e...",
"visible":true,
"closed":false,
"archived":false,
"bookmarked":null,
"liked":null,
"views":1260,
"like_count":25,
"has_summary":false,
"archetype":"regular",
"last_poster_username":"cpradio",
"category_id":22,
"pinned_globally":false,
"posters":[
{
"extras":null,
"description":"Original Poster",
"user_id":19
},
{
"extras":null,
"description":"Frequent Poster",
"user_id":8617
},
{
"extras":null,
"description":"Frequent Poster",
"user_id":12662
},
{
"extras":null,
"description":"Frequent Poster",
"user_id":6626
},
{
"extras":"latest",
"description":"Most Recent Poster",
"user_id":8300
}
]
},
{
"id":3071,
"title":"Would it be possible to make Slug localizable?",
"fancy_title":"Would it be possible to make Slug localizable?",
"slug":"would-it-be-possible-to-make-slug-localizable",
"posts_count":12,
"reply_count":7,
"highest_post_number":12,
"image_url":null,
"created_at":"2013-02-14T11:48:21.474Z",
"last_posted_at":"2014-09-18T14:38:59.064Z",
"bumped":true,
"bumped_at":"2014-09-18T14:38:59.064Z",
"unseen":false,
"linked_post_number":10,
"pinned":false,
"unpinned":null,
"excerpt":"...in `block (2 levels) in < top (required) > ' 3) Slug replaces symbols Failure/Error: Slug.for('evil#trout').should == 'evil-trout' expected: \"evil-trout\" got: \"evil-number-trout\" (using ==) # ./spec/compon...",
"visible":true,
"closed":false,
"archived":false,
"bookmarked":null,
"liked":null,
"views":766,
"like_count":5,
"has_summary":false,
"archetype":"regular",
"last_poster_username":"fantasticfears",
"category_id":17,
"pinned_globally":false,
"posters":[
{
"extras":null,
"description":"Original Poster",
"user_id":2602
},
{
"extras":null,
"description":"Frequent Poster",
"user_id":754
},
{
"extras":null,
"description":"Frequent Poster",
"user_id":1995
},
{
"extras":null,
"description":"Frequent Poster",
"user_id":1
},
{
"extras":"latest",
"description":"Most Recent Poster",
"user_id":8810
}
]
},
{
"id":26875,
"title":"Rails Girls SoC Banter",
"fancy_title":"Rails Girls SoC Banter",
"slug":"rails-girls-soc-banter",
"posts_count":48,
"reply_count":30,
"highest_post_number":48,
"image_url":null,
"created_at":"2015-03-27T11:26:09.903Z",
"last_posted_at":"2015-07-13T23:11:31.481Z",
"bumped":true,
"bumped_at":"2015-07-13T23:11:31.481Z",
"unseen":false,
"linked_post_number":42,
"pinned":false,
"unpinned":null,
"excerpt":"...e inserted by plugins. ## Usage If you handlebars template has: ```handlebars {{plugin-outlet \"evil-trout\"}} ``` Then any handlebars files you create in the `connectors/evil-trout` directory will automatic...",
"visible":true,
"closed":false,
"archived":false,
"bookmarked":null,
"liked":null,
"views":1224,
"like_count":81,
"has_summary":false,
"archetype":"regular",
"last_poster_username":"snjqi188",
"category_id":7,
"pinned_globally":false,
"posters":[
{
"extras":null,
"description":"Original Poster",
"user_id":14446
},
{
"extras":null,
"description":"Frequent Poster",
"user_id":14474
},
{
"extras":null,
"description":"Frequent Poster",
"user_id":14514
},
{
"extras":null,
"description":"Frequent Poster",
"user_id":32
},
{
"extras":"latest",
"description":"Most Recent Poster",
"user_id":14448
}
]
},
{
"id":31001,
"title":"Beginner's Guide to Creating Discourse Plugins Part 2: Plugin Outlets",
"fancy_title":"Beginner’s Guide to Creating Discourse Plugins Part 2: Plugin Outlets",
"slug":"beginners-guide-to-creating-discourse-plugins-part-2-plugin-outlets",
"posts_count":1,
"reply_count":0,
"highest_post_number":1,
"image_url":null,
"created_at":"2015-07-12T17:48:27.322Z",
"last_posted_at":"2015-07-12T17:48:27.403Z",
"bumped":true,
"bumped_at":"2015-07-13T04:18:14.901Z",
"unseen":false,
"linked_post_number":1,
"pinned":false,
"unpinned":null,
"excerpt":"...nectors/ < outlet name > in it. For example, if your handlebars template has: {{plugin-outlet \"evil-trout\"}} Then any handlebars files you create in the connectors/evil-trout directory will automatically b...",
"visible":true,
"closed":false,
"archived":false,
"bookmarked":null,
"liked":null,
"views":220,
"like_count":16,
"has_summary":false,
"archetype":"regular",
"last_poster_username":"eviltrout",
"category_id":10,
"pinned_globally":false,
"posters":[
{
"extras":"latest single",
"description":"Original Poster, Most Recent Poster",
"user_id":19
}
]
},
{
"id":29176,
"title":"How can I add some custom html to the bottom of the categories page?",
"fancy_title":"How can I add some custom html to the bottom of the categories page?",
"slug":"how-can-i-add-some-custom-html-to-the-bottom-of-the-categories-page",
"posts_count":12,
"reply_count":10,
"highest_post_number":13,
"image_url":null,
"created_at":"2015-05-23T19:08:35.447Z",
"last_posted_at":"2015-05-25T08:16:25.989Z",
"bumped":true,
"bumped_at":"2015-05-25T08:16:25.989Z",
"unseen":false,
"linked_post_number":12,
"pinned":false,
"unpinned":null,
"excerpt":"...e inserted by plugins. ## Usage If you handlebars template has: ```handlebars {{plugin-outlet \"evil-trout\"}} ``` Then any handlebars files you create in the `connectors/evil-trout` directory will automatic...",
"visible":true,
"closed":false,
"archived":false,
"bookmarked":null,
"liked":null,
"views":190,
"like_count":8,
"has_summary":false,
"archetype":"regular",
"last_poster_username":"sam",
"category_id":6,
"pinned_globally":false,
"posters":[
{
"extras":null,
"description":"Original Poster",
"user_id":14657
},
{
"extras":null,
"description":"Frequent Poster",
"user_id":6626
},
{
"extras":null,
"description":"Frequent Poster",
"user_id":8617
},
{
"extras":null,
"description":"Frequent Poster",
"user_id":14353
},
{
"extras":"latest",
"description":"Most Recent Poster",
"user_id":1
}
]
},
{
"id":26192,
"title":"403 when embedding a Digital Ocean droplet",
"fancy_title":"403 when embedding a Digital Ocean droplet",
"slug":"403-when-embedding-a-digital-ocean-droplet",
"posts_count":7,
"reply_count":3,
"highest_post_number":7,
"image_url":null,
"created_at":"2015-03-10T21:22:19.206Z",
"last_posted_at":"2015-03-11T22:31:04.520Z",
"bumped":true,
"bumped_at":"2015-03-11T22:31:04.520Z",
"unseen":false,
"linked_post_number":4,
"pinned":false,
"unpinned":null,
"excerpt":"Yes I am Robin as well as Evil Trout smile :smile: If you followed those instructions and are getting access errors, you might want to d...",
"visible":true,
"closed":false,
"archived":false,
"bookmarked":null,
"liked":null,
"views":232,
"like_count":2,
"has_summary":false,
"archetype":"regular",
"last_poster_username":"codinghorror",
"category_id":6,
"pinned_globally":false,
"posters":[
{
"extras":null,
"description":"Original Poster",
"user_id":14184
},
{
"extras":null,
"description":"Frequent Poster",
"user_id":19
},
{
"extras":"latest",
"description":"Most Recent Poster",
"user_id":32
}
]
},
{
"id":20883,
"title":"S3 competitor integration",
"fancy_title":"S3 competitor integration",
"slug":"s3-competitor-integration",
"posts_count":3,
"reply_count":1,
"highest_post_number":3,
"image_url":"https://discourse-cdn.global.ssl.fastly.net/meta/images/emoji/twitter/smile.png?v=0",
"created_at":"2014-10-07T13:37:19.628Z",
"last_posted_at":"2014-10-07T18:46:22.493Z",
"bumped":true,
"bumped_at":"2014-10-07T18:46:22.493Z",
"unseen":false,
"linked_post_number":3,
"pinned":false,
"unpinned":null,
"excerpt":"I have seem some of your testing 'stuff' (evil trout's actually). And it looks like a HUUUUUUUUGGGE time sink (ice pick to the eyeballs). but...I believ...",
"visible":true,
"closed":false,
"archived":false,
"bookmarked":null,
"liked":null,
"views":141,
"like_count":2,
"has_summary":false,
"archetype":"regular",
"last_poster_username":"Frank",
"category_id":2,
"pinned_globally":false,
"posters":[
{
"extras":"latest",
"description":"Original Poster, Most Recent Poster",
"user_id":9931
},
{
"extras":null,
"description":"Frequent Poster",
"user_id":1995
}
]
},
{
"id":13534,
"title":"Blogging Platforms, Ghost, and Discourse",
"fancy_title":"Blogging Platforms, Ghost, and Discourse",
"slug":"blogging-platforms-ghost-and-discourse",
"posts_count":18,
"reply_count":13,
"highest_post_number":18,
"image_url":null,
"created_at":"2014-03-08T15:46:35.174Z",
"last_posted_at":"2014-03-26T18:25:45.895Z",
"bumped":true,
"bumped_at":"2014-03-26T18:25:45.895Z",
"unseen":false,
"linked_post_number":1,
"pinned":false,
"unpinned":null,
"excerpt":"...urse, do you mean that the blog comments for Ghost will be driven by Discourse, similar to the Evil Trout blog ? What about using Discourse as the blog platform itself, not as the comment engine at the end...",
"visible":true,
"closed":false,
"archived":false,
"bookmarked":null,
"liked":null,
"views":2182,
"like_count":17,
"has_summary":false,
"archetype":"regular",
"last_poster_username":"codetricity",
"category_id":17,
"pinned_globally":false,
"posters":[
{
"extras":"latest",
"description":"Original Poster, Most Recent Poster",
"user_id":8364
},
{
"extras":null,
"description":"Frequent Poster",
"user_id":4949
},
{
"extras":null,
"description":"Frequent Poster",
"user_id":14
},
{
"extras":null,
"description":"Frequent Poster",
"user_id":32
},
{
"extras":null,
"description":"Frequent Poster",
"user_id":8385
}
]
},
{
"id":4859,
"title":"All of the site functions based on ajax?",
"fancy_title":"All of the site functions based on ajax?",
"slug":"all-of-the-site-functions-based-on-ajax",
"posts_count":28,
"reply_count":20,
"highest_post_number":28,
"image_url":null,
"created_at":"2013-03-18T08:59:46.135Z",
"last_posted_at":"2013-10-18T20:22:30.677Z",
"bumped":true,
"bumped_at":"2013-10-18T20:22:30.677Z",
"unseen":false,
"linked_post_number":21,
"pinned":false,
"unpinned":null,
"excerpt":"please see evil trouts blog post http://eviltrout.com/2013/02/27/adding-to-discourse-part-1.html",
"visible":true,
"closed":false,
"archived":false,
"bookmarked":null,
"liked":null,
"views":1629,
"like_count":17,
"has_summary":false,
"archetype":"regular",
"last_poster_username":"jasonwhat",
"category_id":17,
"pinned_globally":false,
"posters":[
{
"extras":null,
"description":"Original Poster",
"user_id":3520
},
{
"extras":null,
"description":"Frequent Poster",
"user_id":3493
},
{
"extras":null,
"description":"Frequent Poster",
"user_id":2395
},
{
"extras":null,
"description":"Frequent Poster",
"user_id":2477
},
{
"extras":"latest",
"description":"Most Recent Poster",
"user_id":7301
}
]
},
{
"id":7220,
"title":"Javascript dependencies",
"fancy_title":"Javascript dependencies",
"slug":"javascript-dependencies",
"posts_count":8,
"reply_count":5,
"highest_post_number":8,
"image_url":null,
"created_at":"2013-06-06T11:11:18.522Z",
"last_posted_at":"2013-06-07T18:43:51.449Z",
"bumped":true,
"bumped_at":"2013-06-07T18:43:51.449Z",
"unseen":false,
"linked_post_number":3,
"pinned":false,
"unpinned":null,
"excerpt":"...ould be in vendor directory of one of the gems Ahh I need to look at Gemfile Ahh I need to use Evil Trouts bundle open handlebars trick. I am completely against this new best practice, its inconsistent wit...",
"visible":true,
"closed":false,
"archived":false,
"bookmarked":null,
"liked":null,
"views":1010,
"like_count":0,
"has_summary":false,
"archetype":"regular",
"last_poster_username":"eviltrout",
"category_id":7,
"pinned_globally":false,
"posters":[
{
"extras":null,
"description":"Original Poster",
"user_id":1819
},
{
"extras":null,
"description":"Frequent Poster",
"user_id":2
},
{
"extras":null,
"description":"Frequent Poster",
"user_id":1
},
{
"extras":null,
"description":"Frequent Poster",
"user_id":2471
},
{
"extras":"latest",
"description":"Most Recent Poster",
"user_id":19
}
]
}
]
}
},
"search/query": { "search/query": {
  "posts": [   "posts": [
    {     {

View File

@ -44,7 +44,8 @@ export default {
"new", "new",
"starred", "starred",
"read", "read",
"posted" "posted",
"search"
], ],
"periods":[ "periods":[
"yearly", "yearly",