Exclusive Lists: Difference between revisions

From neuromatch
(→‎Discord: new section)
 
No edit summary
Line 1: Line 1:
{{Project
|Description=Accounts on lists marked as exclusive do not appear on the home feed
|Part Of=Mastodon/Hacking
|Parts=
|Contributors=Lina, Jonny
|Has Git Repository=https://github.com/NeuromatchAcademy/mastodon
|Completion Status=In Process
|Active Status=Active
|Approval Status=Provisional
}}
* Pull Request: [[Has Pull Request::https://github.com/NeuromatchAcademy/mastodon/pull/12]]
== Description ==
(fuller description of the feature)
== TODO ==
* Description
* Screenshots of the option toggle
* Instructions on how to use???????
== Discord ==
== Discord ==



Revision as of 01:25, 20 May 2023

Exclusive Lists
Description Accounts on lists marked as exclusive do not appear on the home feed
Part Of Mastodon/Hacking
Contributors Lina, Jonny
Has Git Repository https://github.com/NeuromatchAcademy/mastodon
Completion Status In Process"In Process" is not in the list (Stub, In Progress, Draft, Mature, Screed, Ongoing, Completed) of allowed values for the "Completion Status" property.
Active Status Active
Approval Status Provisional


Description

(fuller description of the feature)

TODO

  • Description
  • Screenshots of the option toggle
  • Instructions on how to use???????

Discord

sneakers-the-rat#testing23-03-18 21:48:09

@lina gathering some stuff here: Mastodon/Tests Mastodon/Tech WG Exclusive Lists Ruby Spec Ruby spec for home feed: https://github.com/NeuromatchAcademy/mastodon/blob/main/spec/models/home_feed_spec.rb for public feed: https://github.com/NeuromatchAcademy/mastodon/blob/main/spec/models/public_feed_spec.rb that gives more examples on how feeds are supposed to be filtered tag feed: https://github.com/NeuromatchAcademy/mastodon/blob/main/spec/models/tag_feed_spec.rb in case we might want to add exclusive tag feeds (I personally do, self interested bc monsterdon lol) account filter (looks like for blocks): https://github.com/NeuromatchAcademy/mastodon/blob/main/spec/models/account_statuses_filter_spec.rb

and so on

the question to me is basically how these things are structured: you have some fabricator steps that set up the conditions for the test, but then you also have these `context` statements that looks like plain English strings to me? like how do those and the `describe` fields map onto the code? like is their testing system so good that you can really just write `it {is_expected.to be_filtered }` and that just works???? or how do you define all those.

Also u mentioned they are using a separate JavaScript testing framework? Jest ? that looks like it's configured here: https://github.com/NeuromatchAcademy/mastodon/blob/main/jest.config.js and doesn't cover the glitch flavours, just the mastodon folder. it seems like that is for testing the appearance and function of the JS? not sure how it interacts with the ruby tests.

So for the sake of us learning to write tests here, I don't think we need to aim for full adversarial coverage of the feature, but just get the basics: "when an account is in an exclusive list, their posts dont show up on the home feed." judging from the other tests, it looks like we'll have to also test for boosts from them, but since it's not like a block we don't have to test a bunch of edge cases like interactions.