Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F33101639
streamer_view_test.exs
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Award Token
Flag For Later
Size
3 KB
Referenced Files
None
Subscribers
None
streamer_view_test.exs
View Options
# Pleroma: A lightweight social networking server
# Copyright © 2017-2022 Pleroma Authors <https://pleroma.social/>
# SPDX-License-Identifier: AGPL-3.0-only
defmodule
Pleroma.Web.StreamerViewTest
do
use
Pleroma.Web.ConnCase
,
async
:
true
# import ExUnit.CaptureLog
import
Pleroma.Factory
alias
Pleroma.Web.CommonAPI
alias
Pleroma.Web.StreamerView
describe
"follow_relationships_update.json"
do
test
"shows follower/following count normally"
do
other_user
=
insert
(
:user
)
%{
id
:
following_id
}
=
following
=
insert
(
:user
)
follower
=
insert
(
:user
)
{
:ok
,
_
,
_
,
_
}
=
CommonAPI
.
follow
(
other_user
,
following
)
{
:ok
,
following
,
follower
,
_activity
}
=
CommonAPI
.
follow
(
following
,
follower
)
result
=
StreamerView
.
render
(
"follow_relationships_update.json"
,
%{
follower
:
follower
,
following
:
following
,
state
:
:test
},
"user:test"
)
{
:ok
,
%{
"payload"
=>
payload
}}
=
Jason
.
decode
(
result
)
{
:ok
,
decoded_payload
}
=
Jason
.
decode
(
payload
)
# check the payload updating the user that was followed
assert
match?
(
%{
"follower_count"
=>
1
,
"following_count"
=>
1
,
"id"
=>
^
following_id
},
decoded_payload
[
"following"
]
)
end
test
"hides follower count for :hide_followers and :hide_followers_count"
do
user_attrs
=
[%{
hide_followers
:
true
},
%{
hide_followers_count
:
true
}]
Enum
.
each
(
user_attrs
,
fn
attrs
->
other_user
=
insert
(
:user
)
%{
id
:
following_id
}
=
following
=
insert
(
:user
,
attrs
)
follower
=
insert
(
:user
)
{
:ok
,
_
,
_
,
_
}
=
CommonAPI
.
follow
(
other_user
,
following
)
{
:ok
,
following
,
follower
,
_activity
}
=
CommonAPI
.
follow
(
following
,
follower
)
result
=
StreamerView
.
render
(
"follow_relationships_update.json"
,
%{
follower
:
follower
,
following
:
following
,
state
:
:test
},
"user:test"
)
{
:ok
,
%{
"payload"
=>
payload
}}
=
Jason
.
decode
(
result
)
{
:ok
,
decoded_payload
}
=
Jason
.
decode
(
payload
)
# check the payload updating the user that was followed
assert
match?
(
%{
"follower_count"
=>
0
,
"following_count"
=>
1
,
"id"
=>
^
following_id
},
decoded_payload
[
"following"
]
)
end
)
end
test
"hides follows count for :hide_follows and :hide_follows_count"
do
user_attrs
=
[%{
hide_follows
:
true
},
%{
hide_follows_count
:
true
}]
Enum
.
each
(
user_attrs
,
fn
attrs
->
other_user
=
insert
(
:user
)
%{
id
:
following_id
}
=
following
=
insert
(
:user
,
attrs
)
follower
=
insert
(
:user
)
{
:ok
,
_
,
_
,
_
}
=
CommonAPI
.
follow
(
other_user
,
following
)
{
:ok
,
following
,
follower
,
_activity
}
=
CommonAPI
.
follow
(
following
,
follower
)
result
=
StreamerView
.
render
(
"follow_relationships_update.json"
,
%{
follower
:
follower
,
following
:
following
,
state
:
:test
},
"user:test"
)
{
:ok
,
%{
"payload"
=>
payload
}}
=
Jason
.
decode
(
result
)
{
:ok
,
decoded_payload
}
=
Jason
.
decode
(
payload
)
# check the payload updating the user that was followed
assert
match?
(
%{
"follower_count"
=>
1
,
"following_count"
=>
0
,
"id"
=>
^
following_id
},
decoded_payload
[
"following"
]
)
end
)
end
end
end
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Tue, Jan 20, 12:42 PM (1 d, 20 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
960286
Default Alt Text
streamer_view_test.exs (3 KB)
Attached To
Mode
rPUBE pleroma-upstream
Attached
Detach File
Event Timeline
Log In to Comment