|
|
@ -1,18 +1,18 @@
|
|
|
|
defmodule LinkShortener.Generators.LinkWithRandomShortenTest do
|
|
|
|
defmodule LinkShortener.Generators.LinkWithRandomShortenTest do
|
|
|
|
use ExUnit.Case, async: true
|
|
|
|
use ExUnit.Case, async: true
|
|
|
|
|
|
|
|
|
|
|
|
alias LinkShortener.Generators.LinkWithRandomShorten
|
|
|
|
alias LinkShortener.Generators.LinkWithRandomShorten
|
|
|
|
|
|
|
|
|
|
|
|
@name "Some name"
|
|
|
|
@name "Some name"
|
|
|
|
@attrs %{
|
|
|
|
@attrs %{
|
|
|
|
name: @name
|
|
|
|
name: @name
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
test "generate/1 returns random safe string with 10 as length" do
|
|
|
|
test "generate/1 returns random safe string with 10 as length" do
|
|
|
|
assert %{
|
|
|
|
assert %{
|
|
|
|
name: @name,
|
|
|
|
name: @name,
|
|
|
|
shorten: shorten
|
|
|
|
shorten: shorten
|
|
|
|
} = LinkWithRandomShorten.generate_one(@attrs)
|
|
|
|
} = LinkWithRandomShorten.generate_one(@attrs)
|
|
|
|
|
|
|
|
|
|
|
|
assert String.length(shorten) == 10
|
|
|
|
assert String.length(shorten) == 10
|
|
|
|
end
|
|
|
|
end
|
|
|
@ -21,22 +21,32 @@ defmodule LinkShortener.Generators.LinkWithRandomShortenTest do
|
|
|
|
expected_length = 5
|
|
|
|
expected_length = 5
|
|
|
|
|
|
|
|
|
|
|
|
assert %{
|
|
|
|
assert %{
|
|
|
|
name: @name,
|
|
|
|
name: @name,
|
|
|
|
shorten: shorten
|
|
|
|
shorten: shorten
|
|
|
|
} = LinkWithRandomShorten.generate_one(@attrs, expected_length)
|
|
|
|
} =
|
|
|
|
|
|
|
|
LinkWithRandomShorten.generate_one(@attrs,
|
|
|
|
|
|
|
|
is_atom_based: true,
|
|
|
|
|
|
|
|
length: expected_length
|
|
|
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
assert String.length(shorten) == expected_length
|
|
|
|
assert String.length(shorten) == expected_length
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
test "generate/3 returns random safe string using a lambda function" do
|
|
|
|
test "generate/3 returns random safe string using a lambda function" do
|
|
|
|
random_generator = fn _ -> "random_shorten" end
|
|
|
|
random_generator = fn _ -> "random_shorten" end
|
|
|
|
expected_shorten = random_generator.(14)
|
|
|
|
expected_shorten = random_generator.(14)
|
|
|
|
expected_length = expected_shorten |> String.length()
|
|
|
|
expected_length = expected_shorten |> String.length()
|
|
|
|
|
|
|
|
|
|
|
|
assert %{
|
|
|
|
assert %{
|
|
|
|
name: @name,
|
|
|
|
name: @name,
|
|
|
|
shorten: shorten
|
|
|
|
shorten: shorten
|
|
|
|
} = LinkWithRandomShorten.generate_one(@attrs, expected_length, random_generator)
|
|
|
|
} =
|
|
|
|
|
|
|
|
LinkWithRandomShorten.generate_one(
|
|
|
|
|
|
|
|
@attrs,
|
|
|
|
|
|
|
|
is_atom_based: true,
|
|
|
|
|
|
|
|
length: expected_length,
|
|
|
|
|
|
|
|
generator: random_generator
|
|
|
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
assert String.length(shorten) == expected_length
|
|
|
|
assert String.length(shorten) == expected_length
|
|
|
|
assert shorten == expected_shorten
|
|
|
|
assert shorten == expected_shorten
|
|
|
|