mirror of
https://github.com/Ocelot-Social-Community/Ocelot-Social.git
synced 2025-12-13 07:46:06 +00:00
User.Mute.feature
This commit is contained in:
parent
ec6a1f1e4e
commit
c6bca8d9fb
@ -37,7 +37,7 @@ Feature: User - block an user
|
||||
And I "should" see "Unblock user" from the content menu in the user info box
|
||||
|
||||
Scenario: Posts of blocked users are not filtered from search results
|
||||
Given "Harassing User" wrote a post "You can still see my posts"
|
||||
Given "harassing-user" wrote a post "You can still see my posts"
|
||||
And I block the user "Harassing User"
|
||||
When I search for "see"
|
||||
Then I should see the following posts in the select dropdown:
|
||||
|
||||
@ -2,39 +2,43 @@ Feature: Mute a User
|
||||
As a user
|
||||
I'd like to have a button to mute another user
|
||||
To prevent him from seeing and interacting with my contributions
|
||||
|
||||
Background:
|
||||
Given I have a user account
|
||||
And there is an annoying user called "Spammy Spammer"
|
||||
And I am logged in
|
||||
Given the following "users" are in the database:
|
||||
| email | password | id | name | slug | termsAndConditionsAgreedVersion |
|
||||
| peterpan@example.org | 123 | id-of-peter-pan | Peter Pan | peter-pan | 0.0.4 |
|
||||
| user@example.org | 123 | annoying-user | Annoying User | annoying-user | 0.0.4 |
|
||||
Given the following "posts" are in the database:
|
||||
| id | title | content | authorId |
|
||||
| im-not-muted | Post that should be seen | cause I'm not muted | id-of-peter-pan |
|
||||
| bWBjpkTKZp | previously created post | previously-created-post | id-of-peter-pan |
|
||||
And I am logged in as "peter-pan"
|
||||
|
||||
Scenario: Mute a user
|
||||
Given I am on the profile page of the annoying user
|
||||
Given I navigate to page "/profile/annoying-user"
|
||||
When I click on "Mute user" from the content menu in the user info box
|
||||
And I navigate to my "Muted users" settings page
|
||||
Then I can see the following table:
|
||||
| Avatar | Name |
|
||||
| | Spammy Spammer |
|
||||
| | Annoying User |
|
||||
|
||||
Scenario: Mute a previously followed user
|
||||
Given I follow the user "Spammy Spammer"
|
||||
And "Spammy Spammer" wrote a post "Spam Spam Spam"
|
||||
When I visit the profile page of the annoying user
|
||||
Given I follow the user "Annoying User"
|
||||
And "annoying-user" wrote a post "Spam Spam Spam"
|
||||
When I navigate to page "/profile/annoying-user"
|
||||
And I click on "Mute user" from the content menu in the user info box
|
||||
Then the list of posts of this user is empty
|
||||
And I get removed from his follower collection
|
||||
|
||||
Scenario: Posts of muted users are filtered from search results, users are not
|
||||
Given we have the following posts in our database:
|
||||
| id | title | content |
|
||||
| im-not-muted | Post that should be seen | cause I'm not muted |
|
||||
Given "Spammy Spammer" wrote a post "Spam Spam Spam"
|
||||
Given "annoying-user" wrote a post "Spam Spam Spam"
|
||||
When I search for "Spam"
|
||||
Then I should see the following posts in the select dropdown:
|
||||
| title |
|
||||
| Spam Spam Spam |
|
||||
When I mute the user "Spammy Spammer"
|
||||
When I mute the user "Annoying User"
|
||||
And I refresh the page
|
||||
And I search for "Spam"
|
||||
And I search for "Anno"
|
||||
Then the search should not contain posts by the annoying user
|
||||
But the search should contain the annoying user
|
||||
But I search for "not muted"
|
||||
@ -43,9 +47,10 @@ Feature: Mute a User
|
||||
| Post that should be seen |
|
||||
|
||||
Scenario: Muted users can still see my posts
|
||||
Given I previously created a post
|
||||
And I mute the user "Spammy Spammer"
|
||||
And the "muted" user searches for "previously created"
|
||||
And I mute the user "Annoying User"
|
||||
And I am logged in as "annoying-user"
|
||||
And I navigate to page "/"
|
||||
And I search for "previously created"
|
||||
Then I should see the following posts in the select dropdown:
|
||||
| title |
|
||||
| previously created post |
|
||||
13
cypress/integration/User.Mute/I_mute_the_user_{string}.js
Normal file
13
cypress/integration/User.Mute/I_mute_the_user_{string}.js
Normal file
@ -0,0 +1,13 @@
|
||||
import { When } from "cypress-cucumber-preprocessor/steps";
|
||||
|
||||
When("I mute the user {string}", name => {
|
||||
cy.neode()
|
||||
.first("User", { name })
|
||||
.then(mutedUser => {
|
||||
cy.neode()
|
||||
.first("User", {
|
||||
name: "Peter Pan"
|
||||
})
|
||||
.relateTo(mutedUser, "muted");
|
||||
});
|
||||
});
|
||||
@ -0,0 +1,6 @@
|
||||
import { Then } from "cypress-cucumber-preprocessor/steps";
|
||||
|
||||
Then("the list of posts of this user is empty", () => {
|
||||
cy.get(".base-card").not(".post-link");
|
||||
cy.get(".main-container").find(".ds-space.hc-empty");
|
||||
});
|
||||
@ -0,0 +1,13 @@
|
||||
import { Then } from "cypress-cucumber-preprocessor/steps";
|
||||
|
||||
Then("the search should contain the annoying user", () => {
|
||||
cy.get(".searchable-input .ds-select-dropdown")
|
||||
.should($li => {
|
||||
expect($li).to.have.length(1);
|
||||
})
|
||||
cy.get(".ds-select-dropdown .user-teaser .slug")
|
||||
.should("contain", '@annoying-user');
|
||||
cy.get(".searchable-input .ds-select input")
|
||||
.focus()
|
||||
.type("{esc}");
|
||||
})
|
||||
@ -0,0 +1,10 @@
|
||||
import { Then } from "cypress-cucumber-preprocessor/steps";
|
||||
|
||||
Then("the search should not contain posts by the annoying user", () => {
|
||||
cy.get(".searchable-input .ds-select-dropdown").should($li => {
|
||||
expect($li).to.have.length(1);
|
||||
})
|
||||
cy.get(".ds-select-dropdown")
|
||||
.should("not.have.class", '.search-post')
|
||||
.should("not.contain", 'Spam')
|
||||
});
|
||||
@ -1,20 +0,0 @@
|
||||
import { When, Then } from "cypress-cucumber-preprocessor/steps";
|
||||
|
||||
Then("the search should not contain posts by the annoying user", () => {
|
||||
cy.get(".searchable-input .ds-select-dropdown").should($li => {
|
||||
expect($li).to.have.length(1);
|
||||
})
|
||||
cy.get(".ds-select-dropdown")
|
||||
.should("not.have.class", '.search-post')
|
||||
.should("not.contain", 'Spam')
|
||||
});
|
||||
|
||||
Then("the search should contain the annoying user", () => {
|
||||
cy.get(".searchable-input .ds-select-dropdown").should($li => {
|
||||
expect($li).to.have.length(1);
|
||||
})
|
||||
cy.get(".ds-select-dropdown .user-teaser .slug").should("contain", '@spammy-spammer');
|
||||
cy.get(".searchable-input .ds-select input")
|
||||
.focus()
|
||||
.type("{esc}");
|
||||
})
|
||||
@ -66,19 +66,6 @@ Given("there is an annoying user who has muted me", () => {
|
||||
});
|
||||
});
|
||||
|
||||
Given("I am on the profile page of the annoying user", name => {
|
||||
cy.openPage("profile/annoying-user/spammy-spammer");
|
||||
});
|
||||
|
||||
When("I ", name => {
|
||||
cy.openPage("profile/annoying-user");
|
||||
});
|
||||
|
||||
Then("the list of posts of this user is empty", () => {
|
||||
cy.get(".base-card").not(".post-link");
|
||||
cy.get(".main-container").find(".ds-space.hc-empty");
|
||||
});
|
||||
|
||||
Given("I wrote a post {string}", title => {
|
||||
cy.factory()
|
||||
.build("post", {
|
||||
@ -88,20 +75,6 @@ Given("I wrote a post {string}", title => {
|
||||
});
|
||||
});
|
||||
|
||||
When("I mute the user {string}", name => {
|
||||
cy.neode()
|
||||
.first("User", {
|
||||
name
|
||||
})
|
||||
.then(mutedUser => {
|
||||
cy.neode()
|
||||
.first("User", {
|
||||
name: narratorParams.name
|
||||
})
|
||||
.relateTo(mutedUser, "muted");
|
||||
});
|
||||
});
|
||||
|
||||
Then("I see only one post with the title {string}", title => {
|
||||
cy.get(".main-container")
|
||||
.find(".post-link")
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
import { Given } from "cypress-cucumber-preprocessor/steps";
|
||||
|
||||
Given('{string} wrote a post {string}', (_, title) => {
|
||||
Given('{string} wrote a post {string}', (author, title) => {
|
||||
cy.factory()
|
||||
.build("post", {
|
||||
title,
|
||||
}, {
|
||||
authorId: 'harassing-user',
|
||||
authorId: author,
|
||||
});
|
||||
});
|
||||
Loading…
x
Reference in New Issue
Block a user