Skip to content
Snippets Groups Projects

Resolve "Rewrite tests/identity/augmentation/excludedIsMember_test.exs"

2 files
+ 79
3
Compare changes
  • Side-by-side
  • Inline

Files

@@ -21,6 +21,57 @@ defmodule Identity.Augmentation.ExcludedIsMemberTest do
hasToBeExcluded: false
}
@iindex_member_false %{
op: 'CREATE',
uid: "totoUser",
pub: "DNann1Lh55eZMEDXeYt59bzHbA3NJR46DeQYCS2qQdLV",
created_on: "7543-000044410C5370DE8DBA911A358F318096B7A269CFC2BB93272E397CC513EA0A",
written_on: "0-E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855",
member: false,
wasMember: true,
kick: false,
age: 7,
uidUnique: false,
pubUnique: false,
excludedIsMember: false,
idBeingKicked: false,
hasToBeExcluded: false
}
@iindex_0 %{
op: 'CREATE',
uid: "totoUser",
pub: "Do6Y6nQ2KTo5fB4MXbSwabXVmXHxYRB9UUAaTPKn1XqC",
created_on: "7543-000044410C5370DE8DBA911A358F318096B7A269CFC2BB93272E397CC513EA0A",
written_on: "0-E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855",
member: false,
wasMember: true,
kick: false,
age: 7,
uidUnique: false,
pubUnique: false,
excludedIsMember: false,
idBeingKicked: false,
hasToBeExcluded: false
}
@iindex_1 %{
op: 'CREATE',
uid: "totoUser",
pub: "5B8iMAzq1dNmFe3ZxFTBQkqhq4fsztg1gZvxHXCk1XYH",
created_on: "7543-000044410C5370DE8DBA911A358F318096B7A269CFC2BB93272E397CC513EA0A",
written_on: "0-E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855",
member: false,
wasMember: true,
kick: false,
age: 7,
uidUnique: false,
pubUnique: false,
excludedIsMember: false,
idBeingKicked: false,
hasToBeExcluded: false
}
doctest Index.Augmentation.IIndex
setup_all do
@@ -41,7 +92,7 @@ defmodule Identity.Augmentation.ExcludedIsMemberTest do
Index.Augmentation.IIndex.excludedIsMember(local_iindex_test, :global_iindex_test)
allExcludedIsMember =
allExcludedIsMember0 =
:ets.match(local_iindex_test, {:_, :"$1"})
|> Enum.reduce(true, fn [entry], acc ->
entry.excludedIsMember && acc
@@ -50,10 +101,35 @@ defmodule Identity.Augmentation.ExcludedIsMemberTest do
:dets.close(:global_iindex_test)
:file.delete('test/global_iindex_test')
{:ok, test1: allExcludedIsMember}
# Test with 1 entry, ENTRY.member = false
local_iindex_test = :ets.new(:local_iindex, [:set, :protected])
{:ok, :global_iindex_test} =
:dets.open_file(:global_iindex_test, [{:file, 'test/global_iindex_test'}, {:type, :set}])
:ets.insert(local_iindex_test, {0, @iindex_member_false})
:dets.insert(:global_iindex_test, {0, @iindex_member_true})
Index.Augmentation.IIndex.excludedIsMember(local_iindex_test, :global_iindex_test)
allExcludedIsMember1 =
:ets.match(local_iindex_test, {:_, :"$1"})
|> Enum.reduce(true, fn [entry], acc ->
if entry.member do
entry.excludedIsMember && acc
else
[[first]|_] = :dets.match(:global_iindex_test, {:_, %{pub: entry.pub, member: :"$2"}})
acc && first
end
end)
{:ok, test0: allExcludedIsMember0, test1: allExcludedIsMember1}
end
test "check pubUnique is the right value", state do
test "Test excludedIsMember", state do
assert state.test0
assert state.test1
end
end
Loading