Skip to content

Commit 7e243a0

Browse files
committed
tests updated for originator params feature
1 parent 9d9ba81 commit 7e243a0

File tree

4 files changed

+45
-7
lines changed

4 files changed

+45
-7
lines changed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,7 @@ user = create_user()
175175
# all these set originator_id's for the version records
176176
PaperTrail.insert(changeset, originator: user)
177177
{:ok, result} = PaperTrail.update(edit_changeset, originator: user)
178-
# or you can use :user instead of :originator if this is your config:
178+
# or you can use :user in the params instead of :originator if this is your config:
179179
# paper_trail originator: [name: :user, model: YourApplication.User]
180180
{:ok, result} = PaperTrail.update(edit_changeset, user: user)
181181
result[:version] |> Repo.preload(:user) |> Map.get(:user) # we can access the user who made the change from the version thanks to originator relationships!
@@ -278,7 +278,7 @@ edited_company = Company.changeset(company, %{name: "Acme LLC"})
278278
# or even with an originator:
279279
user = create_user()
280280
deleted_company = Company.changeset(edited_company, %{})
281-
|> PaperTrail.delete(origin: "worker:github", originator: user.id, meta: %{slug: "acme-llc", important: true})
281+
|> PaperTrail.delete(origin: "worker:github", originator: user, meta: %{slug: "acme-llc", important: true})
282282
```
283283

284284
## Suggestions

mix.exs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ defmodule PaperTrail.Mixfile do
44
def project do
55
[
66
app: :paper_trail,
7-
version: "0.6.3",
7+
version: "0.7.0",
88
elixir: "~> 1.4",
99
description: description(),
1010
build_embedded: Mix.env == :prod,

test/paper_trail_strict_mode_test.exs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ defmodule PaperTrailStrictModeTest do
3333

3434
test "creating a company creates a company version with correct attributes" do
3535
user = create_user()
36-
{:ok, result} = create_company_with_version(@create_company_params, originator: user)
36+
{:ok, result} = create_company_with_version(@create_company_params, user: user)
3737

3838
company_count = Company.count()
3939
version_count = Version.count()
@@ -138,7 +138,7 @@ defmodule PaperTrailStrictModeTest do
138138
{:ok, insert_company_result} = create_company_with_version()
139139
{:ok, update_company_result} = update_company_with_version(insert_company_result[:model])
140140
company_before_deletion = first(Company, :id) |> @repo.one |> serialize
141-
{:ok, result} = PaperTrail.delete(update_company_result[:model], originator: user)
141+
{:ok, result} = PaperTrail.delete(update_company_result[:model], user: user)
142142

143143
company_count = Company.count()
144144
version_count = Version.count()

test/paper_trail_test.exs

Lines changed: 40 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
# test one with user:, one with originator
21
defmodule PaperTrailTest do
32
use ExUnit.Case
43

@@ -73,7 +72,46 @@ defmodule PaperTrailTest do
7372
assert result == ecto_result
7473
end
7574

76-
test "updating a company creates a company version with correct item_changes" do
75+
test "updating a company with originator creates a correct company version" do
76+
user = create_user()
77+
{:ok, insert_result} = create_company_with_version()
78+
{:ok, result} = update_company_with_version(
79+
insert_result[:model], @update_company_params, user: user
80+
)
81+
82+
company_count = Company.count()
83+
version_count = Version.count()
84+
85+
company = result[:model] |> serialize
86+
version = result[:version] |> serialize
87+
88+
assert Map.keys(result) == [:model, :version]
89+
assert company_count == 1
90+
assert version_count == 2
91+
assert Map.drop(company, [:id, :inserted_at, :updated_at]) == %{
92+
name: "Acme LLC",
93+
is_active: true,
94+
city: "Hong Kong",
95+
website: "http://www.acme.com",
96+
address: nil,
97+
facebook: "acme.llc",
98+
twitter: nil,
99+
founded_in: nil
100+
}
101+
assert Map.drop(version, [:id, :inserted_at]) == %{
102+
event: "update",
103+
item_type: "SimpleCompany",
104+
item_id: company.id,
105+
item_changes: %{city: "Hong Kong", website: "http://www.acme.com", facebook: "acme.llc"},
106+
originator_id: user.id,
107+
origin: nil,
108+
meta: nil
109+
}
110+
assert company == first(Company, :id) |> @repo.one |> serialize
111+
end
112+
113+
114+
test "updating a company with originator[user] creates a correct company version" do
77115
user = create_user()
78116
{:ok, insert_result} = create_company_with_version()
79117
{:ok, result} = update_company_with_version(

0 commit comments

Comments
 (0)