Skip to content
Extraits de code Groupes Projets
Valider 67b35a60 rédigé par Eugen Rochko's avatar Eugen Rochko
Parcourir les fichiers

Exclude blocked users from follow suggestions, fix tests

parent aa9d4834
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -6,6 +6,8 @@ env:
- LOCAL_DOMAIN=cb6e6126.ngrok.io
- LOCAL_HTTPS=true
- RAILS_ENV=test
- NEO4J_HOST=localhost
- NEO4J_PORT=7575
addons:
postgresql: 9.4
......@@ -20,8 +22,9 @@ bundler_args: --without development production --retry=3 --jobs=3
install:
- npm install -g npm@3
- npm install
- npm install -g yarn
- bundle install
- yarn install
before_script:
- bundle exec rails db:create db:migrate
......
......@@ -164,6 +164,10 @@ function normalizeAccount(state, account, relationship) {
};
function normalizeRelationship(state, relationship) {
if (state.get('suggestions').includes(relationship.get('id')) && (relationship.get('following') || relationship.get('blocking'))) {
state = state.update('suggestions', list => list.filterNot(id => id === relationship.get('id')));
}
return state.setIn(['relationships', relationship.get('id')], relationship);
};
......
......@@ -2,7 +2,7 @@ class FollowSuggestion
def self.get(for_account_id, limit = 6)
neo = Neography::Rest.new
account_ids = neo.execute_query('START a=node:account_index(Account={id}) MATCH (a)-[:follows]->(b)-[:follows]->(c) WHERE a <> c AND NOT (a)-[:follows]->(c) RETURN DISTINCT c.account_id', id: for_account_id)
Account.where(id: account_ids['data'].map(&:first)).limit(limit) unless account_ids.empty?
Account.where(id: account_ids['data'].map(&:first) - Block.where(account_id: for_account_id).pluck(:target_account_id)).limit(limit) unless account_ids.empty?
rescue Neography::NeographyError, Excon::Error::Socket => e
Rails.logger.error e
[]
......
......@@ -9,7 +9,7 @@ require 'webmock/rspec'
require 'paperclip/matchers'
ActiveRecord::Migration.maintain_test_schema!
WebMock.disable_net_connect!
WebMock.disable_net_connect!(allow: 'localhost:7575')
Sidekiq::Testing.inline!
RSpec.configure do |config|
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter