Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F7687776
registration_test.exs
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Award Token
Flag For Later
Size
1 KB
Referenced Files
None
Subscribers
None
registration_test.exs
View Options
# Pleroma: A lightweight social networking server
# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>
# SPDX-License-Identifier: AGPL-3.0-only
defmodule
Pleroma.RegistrationTest
do
use
Pleroma.DataCase
import
Pleroma.Factory
alias
Pleroma.Registration
alias
Pleroma.Repo
describe
"generic changeset"
do
test
"requires :provider, :uid"
do
registration
=
build
(
:registration
,
provider
:
nil
,
uid
:
nil
)
cs
=
Registration
.
changeset
(
registration
,
%{})
refute
cs
.
valid?
assert
[
provider
:
{
"can't be blank"
,
[
validation
:
:required
]},
uid
:
{
"can't be blank"
,
[
validation
:
:required
]}
]
==
cs
.
errors
end
test
"ensures uniqueness of [:provider, :uid]"
do
registration
=
insert
(
:registration
)
registration2
=
build
(
:registration
,
provider
:
registration
.
provider
,
uid
:
registration
.
uid
)
cs
=
Registration
.
changeset
(
registration2
,
%{})
assert
cs
.
valid?
assert
{
:error
,
%
Ecto.Changeset
{
errors
:
[
uid
:
{
"has already been taken"
,
[
constraint
:
:unique
,
constraint_name
:
"registrations_provider_uid_index"
]}
]
}}
=
Repo
.
insert
(
cs
)
# Note: multiple :uid values per [:user_id, :provider] are intentionally allowed
cs2
=
Registration
.
changeset
(
registration2
,
%{
uid
:
"available.uid"
})
assert
cs2
.
valid?
assert
{
:ok
,
_
}
=
Repo
.
insert
(
cs2
)
cs3
=
Registration
.
changeset
(
registration2
,
%{
provider
:
"provider2"
})
assert
cs3
.
valid?
assert
{
:ok
,
_
}
=
Repo
.
insert
(
cs3
)
end
test
"allows `nil` :user_id (user-unbound registration)"
do
registration
=
build
(
:registration
,
user_id
:
nil
)
cs
=
Registration
.
changeset
(
registration
,
%{})
assert
cs
.
valid?
assert
{
:ok
,
_
}
=
Repo
.
insert
(
cs
)
end
end
end
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Wed, Sep 3, 11:36 PM (1 d, 12 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
304025
Default Alt Text
registration_test.exs (1 KB)
Attached To
Mode
rPUBE pleroma-upstream
Attached
Detach File
Event Timeline
Log In to Comment