1
0
Fork 0
mirror of https://framagit.org/framasoft/mobilizon.git synced 2024-12-27 02:10:27 +00:00
mobilizon/test/service/address/address_test.exs
Thomas Citharel 2bdce8b2fc
Handle address is invalid while rendering event preview
Closes #996

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-04-01 15:01:57 +02:00

60 lines
1.7 KiB
Elixir

defmodule Mobilizon.Service.AddressTest do
@moduledoc """
Test representing addresses
"""
use Mobilizon.DataCase
alias Mobilizon.Addresses.Address
alias Mobilizon.Service.Address, as: AddressRenderer
import Mobilizon.Factory
describe "render an address" do
test "basic" do
%Address{} = address = insert(:address)
assert AddressRenderer.render_address(address) ==
"#{address.description}, #{address.postal_code}, #{address.locality}, #{address.country}"
end
test "a house" do
assert AddressRenderer.render_address(%Address{
description: "somewhere",
type: "house",
postal_code: "35000",
locality: "Rennes"
}) ==
"somewhere, 35000, Rennes"
end
test "a city" do
assert AddressRenderer.render_address(%Address{
description: "Rennes",
type: "city",
postal_code: "35000",
locality: "Rennes"
}) ==
"Rennes (35000)"
end
test "a region" do
assert AddressRenderer.render_address(%Address{
description: "Ille et Vilaine",
type: "administrative",
postal_code: "",
locality: ""
}) ==
"Ille et Vilaine"
end
test "only with description" do
assert AddressRenderer.render_address(%Address{description: "somewhere"}) == "somewhere"
end
test "with no data" do
assert AddressRenderer.render_address(%Address{}) == nil
assert_raise ArgumentError, "Invalid address", fn ->
AddressRenderer.render_address!(%Address{})
end
end
end
end