add mock recommender service for development, add user-context recommended posts

This commit is contained in:
r888888888
2018-07-21 13:24:43 -07:00
parent 93c074c15b
commit 344c46ed00
20 changed files with 250 additions and 33 deletions

View File

@@ -120,15 +120,12 @@ class PostsControllerTest < ActionDispatch::IntegrationTest
setup do
@post2 = create(:post)
RecommenderService.stubs(:enabled?).returns(true)
RecommenderService.stubs(:available?).returns(true)
RecommenderService.stubs(:similar).returns([[@post.id, "1.0"], [@post2.id, "0.01"]])
RecommenderService.stubs(:available_for_post?).returns(true)
end
should "render a section for similar posts" do
should "not error out" do
get_auth post_path(@post), @user
assert_response :success
assert_select ".similar-posts"
assert_select ".similar-posts #post_#{@post2.id}"
end
end
end

View File

@@ -0,0 +1,41 @@
require "test_helper"
class RecommendedPostsControllerTest < ActionDispatch::IntegrationTest
context "The recommended posts controller" do
setup do
@user = travel_to(1.month.ago) {create(:user)}
as_user do
@post = create(:post, :tag_string => "aaaa")
end
RecommenderService.stubs(:enabled?).returns(true)
end
context "post context" do
setup do
RecommenderService.stubs(:available_for_post?).returns(true)
RecommenderService.stubs(:recommend_for_post).returns([@post])
end
should "render" do
get_auth recommended_posts_path, @user, xhr: true, params: {context: "post", post_id: @post.id}
assert_response :success
assert_select ".recommended-posts"
assert_select ".recommended-posts #post_#{@post.id}"
end
end
context "user context" do
setup do
RecommenderService.stubs(:available_for_user?).returns(true)
RecommenderService.stubs(:recommend_for_user).returns([@post])
end
should "render" do
get_auth recommended_posts_path, @user, params: {context: "user"}
assert_response :success
assert_select ".recommended-posts"
assert_select ".recommended-posts #post_#{@post.id}"
end
end
end
end