Refacor files namespaces

This commit is contained in:
Thorsten Claus 2021-05-01 12:59:05 +02:00 committed by Benjamin Neff
parent 9b19be18f2
commit 67f8ba5d57
No known key found for this signature in database
GPG key ID: 971464C3F1A90194
11 changed files with 89 additions and 9 deletions

View file

@ -20,7 +20,7 @@ app.collections.Comments = Backbone.Collection.extend({
comment.set({author: app.currentUser.toJSON(), parent: self.post });
// Need interactions after make
comment.interactions = new app.models.Post.LikeInteractions(
comment.interactions = new app.models.LikeInteractions(
_.extend({comment: comment, post: self.post}, comment.get("interactions"))
);
self.add(comment);

View file

@ -6,7 +6,7 @@ app.models.Comment = Backbone.Model.extend({
initialize: function(model, options) {
options = options || {};
this.post = model.post || options.post || this.collection.post;
this.interactions = new app.models.Post.LikeInteractions(
this.interactions = new app.models.LikeInteractions(
_.extend({comment: this, post: this.post}, this.get("interactions"))
);
this.likes = this.interactions.likes;

View file

@ -1,6 +1,6 @@
// This class contains code extracted from interactions.js to factorize likes management between posts and comments
app.models.Post.LikeInteractions = Backbone.Model.extend({
app.models.LikeInteractions = Backbone.Model.extend({
initialize: function(options) {
this.likes = new app.collections.Likes(this.get("likes"), options);

View file

@ -4,7 +4,7 @@ app.models.Post = Backbone.Model.extend(_.extend({}, app.models.formatDateMixin,
urlRoot : "/posts",
initialize : function() {
this.interactions = new app.models.Post.Interactions(_.extend({post : this}, this.get("interactions")));
this.interactions = new app.models.PostInteractions(_.extend({post: this}, this.get("interactions")));
this.delegateToInteractions();
},

View file

@ -1,10 +1,8 @@
// @license magnet:?xt=urn:btih:0b31508aeb0634b347b8270c7bee4d411b5d4109&dn=agpl-3.0.txt AGPL-v3-or-Later
//= require ./like_interactions
app.models.Post.Interactions = app.models.Post.LikeInteractions.extend({
app.models.PostInteractions = app.models.LikeInteractions.extend({
initialize: function(options) {
app.models.Post.LikeInteractions.prototype.initialize.apply(this, arguments);
app.models.LikeInteractions.prototype.initialize.apply(this, arguments);
this.post = options.post;
this.comments = new app.collections.Comments(this.get("comments"), {post: this.post});
this.reshares = new app.collections.Reshares(this.get("reshares"), {post: this.post});

View file

@ -52,6 +52,8 @@
$.post(form.attr("action") + "?format=mobile", form.serialize(), function(data){
Diaspora.Mobile.Comments.updateStream(form, data);
// Register new comments
$(".stream").trigger("comments.loaded");
}, "html").fail(function(response) {
Diaspora.Mobile.Alert.handleAjaxError(response);
Diaspora.Mobile.Comments.resetCommentBox(form);

View file

@ -20,7 +20,7 @@ class CommentPresenter < BasePresenter
author: PersonPresenter.new(author).as_api_json,
created_at: created_at,
mentioned_people: build_mentioned_people_json,
reported: current_user.present? && reports.where(user: current_user).exists?,
reported: current_user.present? && reports.exists?(user: current_user),
interactions: build_interactions_json
}
end

View file

@ -86,3 +86,14 @@ Feature: commenting
When I click on selector ".toggle_post_comments"
Then I should see "Comment 2"
Scenario: Like a comment in stream view
When "alice@alice.alice" has commented "That's cool" on "Look at this dog"
And I am on "alice@alice.alice"'s page
And I like the comment "That's cool"
Then I should see a heart within comment "That's cool"
When I expand likes within comment "That's cool"
Then I should see a micro avatar within comment "That's cool"
When I unlike comment "That's cool"
Then I should not see a micro avatar within comment "That's cool"

View file

@ -43,3 +43,14 @@ Feature: reactions mobile post
And I click on selector "a.comment-action"
And I confirm the alert after I click on selector "a.remove"
Then I should see "0 comments" within ".show-comments"
Scenario: liking and unliking a comment
When I click on selector "a.comment-action.inactive"
And I fill in the following:
| text | is that a poodle? |
And I press "Comment"
Then I should see "is that a poodle?" within ".comment-container"
When I toggle like on comment with text "is that a poodle?"
Then I should see a like on comment with text "is that a poodle?"
When I toggle like on comment with text "is that a poodle?"
Then I should see an unliked comment with text "is that a poodle?"

View file

@ -44,3 +44,38 @@ end
When /^I enter "([^"]*)" in the comment field$/ do |comment_text|
find("textarea.comment-box.mention-textarea").native.send_keys(comment_text)
end
Then /^I like the comment "([^"]*)"$/ do |comment_text|
comment_guid = Comment.find_by(text: comment_text).guid
# Find like like-link within comment-block
find(id: comment_guid).click_link("Like")
end
Then /^I should see a heart within comment "([^"]*)"$/ do |comment_text|
comment_guid = Comment.find_by(text: comment_text).guid
block = find(id: comment_guid)
expect(block).to have_css(".entypo-heart")
end
When /^I expand likes within comment "([^"]*)"$/ do |comment_text|
comment_guid = Comment.find_by(text: comment_text).guid
find(id: comment_guid).click_link("1 Like")
find(id: comment_guid).find(".entypo-heart").hover # unfocus avatar to get rid of tooltip
end
When /^I unlike comment "([^"]*)"$/ do |comment_text|
comment_guid = Comment.find_by(text: comment_text).guid
find(id: comment_guid).click_link("Unlike")
end
Then /^I should see a micro avatar within comment "([^"]*)"$/ do |comment_text|
comment_guid = Comment.find_by(text: comment_text).guid
block = find(id: comment_guid)
expect(block).to have_css(".micro.avatar")
end
Then /^I should not see a micro avatar within comment "([^"]*)"$/ do |comment_text|
comment_guid = Comment.find_by(text: comment_text).guid
block = find(id: comment_guid)
expect(block).not_to have_css(".micro.avatar")
end

View file

@ -23,3 +23,26 @@ Then /^the aspect dropdown within "([^"]*)" should be labeled "([^"]*)"/ do |sel
current_scope.should have_css("option.list_cover", text: label)
end
end
When /^I toggle like on comment with text "([^"]*)"$/ do |comment_text|
comment_guid = Comment.find_by(text: comment_text).guid
within(id: comment_guid) do
find(".entypo-heart.like-action").click
end
end
Then /^I should see a like on comment with text "([^"]*)"$/ do |comment_text|
comment_guid = Comment.find_by(text: comment_text).guid
within(id: comment_guid) do
find(".entypo-heart.like-action.active")
expect(find(".count.like-count")).to have_text "1"
end
end
Then /^I should see an unliked comment with text "([^"]*)"$/ do |comment_text|
comment_guid = Comment.find_by(text: comment_text).guid
within(id: comment_guid) do
find(".entypo-heart.like-action.inactive")
expect(find(".count.like-count")).to have_text "0"
end
end