56 lines
1.6 KiB
Elixir
56 lines
1.6 KiB
Elixir
# Pleroma: A lightweight social networking server
|
|
# Copyright © 2017-2022 Pleroma Authors <https://pleroma.social/>
|
|
# SPDX-License-Identifier: AGPL-3.0-only
|
|
|
|
defmodule Pleroma.Web.Preload.Providers.InstanceTest do
|
|
use Pleroma.DataCase
|
|
alias Pleroma.Web.Preload.Providers.Instance
|
|
|
|
setup do: {:ok, Instance.generate_terms(nil)}
|
|
|
|
test "it renders the info", %{"/api/v1/instance" => info} do
|
|
assert %{
|
|
description: description,
|
|
email: "admin@example.com",
|
|
registrations: true
|
|
} = info
|
|
|
|
assert String.equivalent?(description, "Pleroma: An efficient and flexible fediverse server")
|
|
end
|
|
|
|
test "it renders the panel", %{"/instance/panel.html" => panel} do
|
|
assert String.contains?(
|
|
panel,
|
|
"<p>Welcome to <a href=\"https://pleroma.social\" target=\"_blank\">Pleroma!</a></p>"
|
|
)
|
|
end
|
|
|
|
test "it works with overrides" do
|
|
clear_config([:instance, :static_dir], "test/fixtures/preload_static")
|
|
|
|
%{"/instance/panel.html" => panel} = Instance.generate_terms(nil)
|
|
|
|
assert String.contains?(
|
|
panel,
|
|
"HEY!"
|
|
)
|
|
end
|
|
|
|
test "it renders the node_info", %{"/nodeinfo/2.0.json" => nodeinfo} do
|
|
%{
|
|
metadata: metadata,
|
|
version: "2.0"
|
|
} = nodeinfo
|
|
|
|
assert metadata.private == false
|
|
assert metadata.suggestions == %{enabled: false}
|
|
end
|
|
|
|
test "it renders the frontend configurations", %{
|
|
"/api/pleroma/frontend_configurations" => fe_configs
|
|
} do
|
|
assert %{
|
|
pleroma_fe: %{background: "/images/city.jpg", logo: "/static/logo.svg"}
|
|
} = fe_configs
|
|
end
|
|
end
|