Skip to content

Commit 77b669c

Browse files
Add refactor in example person test in order to use helpers
1 parent 9bd355f commit 77b669c

File tree

1 file changed

+41
-70
lines changed

1 file changed

+41
-70
lines changed

example/test/person_test.exs

Lines changed: 41 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -9,46 +9,33 @@ defmodule PersonTest do
99
Repo.delete_all(Company)
1010
Repo.delete_all(PaperTrail.Version)
1111

12-
Company.changeset(%Company{}, %{
13-
name: "Acme LLC",
14-
website: "http://www.acme.com"
15-
}) |> Repo.insert
12+
%{name: "Acme LLC", website: "http://www.acme.com"}
13+
|> ChangesetHelper.new_company()
14+
|> Repo.insert()
1615

17-
Company.changeset(%Company{}, %{
18-
name: "Another Company Corp.",
19-
is_active: true,
20-
address: "Sesame street 100/3, 101010"
21-
}) |> Repo.insert
16+
%{name: "Another Company Corp.", is_active: true, address: "Sesame street 100/3, 101010"}
17+
|> ChangesetHelper.new_company()
18+
|> Repo.insert()
2219

2320
:ok
2421
end
2522

26-
test "creating a person with meta tag creates a person version with correct attributes" do
27-
company = first(Company, :id) |> Repo.one
23+
test "[multi tenant] creating a person with meta tag creates a person version with correct attributes" do
24+
company = QueryHelper.first_company() |> Repo.one()
2825

29-
new_person = Person.changeset(%Person{}, %{
30-
first_name: "Izel",
31-
last_name: "Nakri",
32-
gender: true,
33-
company_id: company.id
34-
})
35-
36-
{:ok, result} = PaperTrail.insert(new_person, origin: "admin", meta: %{}) # add link name later on
26+
{:ok, result} =
27+
%{first_name: "Izel", last_name: "Nakri", gender: true, company_id: company.id}
28+
|> ChangesetHelper.new_person()
29+
|> PaperTrail.insert(origin: "admin", meta: %{})
3730

38-
person_count = Repo.all(
39-
from person in Person,
40-
select: count(person.id)
41-
)
31+
person_count = QueryHelper.person_count() |> Repo.all()
32+
version_count = QueryHelper.version_count() |> Repo.all()
4233

4334
person = result[:model] |> Map.drop([:__meta__, :__struct__, :inserted_at, :updated_at, :id])
44-
45-
version_count = Repo.all(
46-
from version in PaperTrail.Version,
47-
select: count(version.id)
48-
)
49-
5035
version = result[:version] |> Map.drop([:__meta__, :__struct__, :inserted_at])
5136

37+
first_person = QueryHelper.first_person() |> Repo.one()
38+
5239
assert person_count == [1]
5340
assert version_count == [1]
5441

@@ -64,46 +51,35 @@ defmodule PersonTest do
6451
assert Map.drop(version, [:id]) == %{
6552
event: "insert",
6653
item_type: "Person",
67-
item_id: Repo.one(first(Person, :id)).id,
54+
item_id: first_person.id,
6855
item_changes: Map.drop(result[:model], [:__meta__, :__struct__, :company]),
6956
origin: "admin",
7057
originator_id: nil,
7158
meta: %{}
7259
}
7360
end
7461

75-
test "updating a person creates a person version with correct attributes" do
76-
old_person = first(Person, :id) |> Repo.one
62+
test "[multi tenant] updating a person creates a person version with correct attributes" do
63+
first_person = QueryHelper.first_person() |> Repo.one()
7764

78-
target_company = Repo.one(
79-
from c in Company,
80-
where: c.name == "Another Company Corp.",
81-
limit: 1
82-
)
65+
target_company =
66+
[name: "Another Company Corp.", limit: 1]
67+
|> QueryHelper.filter_company()
68+
|> Repo.one()
8369

84-
new_person = Person.changeset(old_person, %{
85-
first_name: "Isaac",
86-
visit_count: 10,
87-
birthdate: ~D[1992-04-01],
88-
company_id: target_company.id
89-
})
90-
91-
{:ok, result} = PaperTrail.update(new_person, origin: "user:1", meta: %{
92-
linkname: "izelnakri"
93-
})
70+
{:ok, result} =
71+
ChangesetHelper.update_person(first_person, %{
72+
first_name: "Isaac",
73+
visit_count: 10,
74+
birthdate: ~D[1992-04-01],
75+
company_id: target_company.id
76+
})
77+
|> PaperTrail.update(origin: "user:1", meta: %{linkname: "izelnakri"})
9478

95-
person_count = Repo.all(
96-
from person in Person,
97-
select: count(person.id)
98-
)
79+
person_count = QueryHelper.person_count() |> Repo.all()
80+
version_count = QueryHelper.version_count() |> Repo.all()
9981

10082
person = result[:model] |> Map.drop([:__meta__, :__struct__, :inserted_at, :updated_at, :id])
101-
102-
version_count = Repo.all(
103-
from version in PaperTrail.Version,
104-
select: count(version.id)
105-
)
106-
10783
version = result[:version] |> Map.drop([:__meta__, :__struct__, :inserted_at])
10884

10985
assert person_count == [1]
@@ -121,7 +97,7 @@ defmodule PersonTest do
12197
assert Map.drop(version, [:id]) == %{
12298
event: "update",
12399
item_type: "Person",
124-
item_id: Repo.one(first(Person, :id)).id,
100+
item_id: first_person.id,
125101
item_changes: %{
126102
first_name: "Isaac",
127103
visit_count: 10,
@@ -136,20 +112,15 @@ defmodule PersonTest do
136112
}
137113
end
138114

139-
test "deleting a person creates a person version with correct attributes" do
140-
person = first(Person, :id) |> preload(:company) |> Repo.one
141-
142-
{:ok, result} = PaperTrail.delete(person)
115+
test "[multi tenant] deleting a person creates a person version with correct attributes" do
116+
person = QueryHelper.first_person() |> Repo.one()
143117

144-
person_count = Repo.all(
145-
from person in Person,
146-
select: count(person.id)
147-
)
118+
{:ok, result} =
119+
person
120+
|> PaperTrail.delete()
148121

149-
version_count = Repo.all(
150-
from version in PaperTrail.Version,
151-
select: count(version.id)
152-
)
122+
person_count = QueryHelper.person_count() |> Repo.all()
123+
version_count = QueryHelper.version_count() |> Repo.all()
153124

154125
version = result[:version] |> Map.drop([:__meta__, :__struct__, :inserted_at])
155126

0 commit comments

Comments
 (0)