From 068be8d583388d756327871637ab9337dc8554d2 Mon Sep 17 00:00:00 2001
From: Joao Gilberto Balsini Moura <joaobalsini@gmail.com>
Date: Mon, 14 Sep 2020 22:06:10 -0300
Subject: [PATCH] Add property seeds

---
 priv/repo/seeds.exs | 59 +++++++++++++++++++++++++++++++++------------
 1 file changed, 44 insertions(+), 15 deletions(-)

diff --git a/priv/repo/seeds.exs b/priv/repo/seeds.exs
index a38dc749..9a9f5c28 100644
--- a/priv/repo/seeds.exs
+++ b/priv/repo/seeds.exs
@@ -10,20 +10,49 @@
 # We recommend using the bang functions (`insert!`, `update!`
 # and so on) as they will fail if something goes wrong.
 
-RealEstate.Accounts.register_admin(%{
-  email: "admin@company.com",
-  password: "123456789abc",
-  password_confirmation: "123456789abc"
-})
+{:ok, admin} =
+  RealEstate.Accounts.register_admin(%{
+    email: "admin@company.com",
+    password: "123456789abc",
+    password_confirmation: "123456789abc"
+  })
 
-RealEstate.Accounts.register_user(%{
-  email: "user1@company.com",
-  password: "123456789abc",
-  password_confirmation: "123456789abc"
-})
+{:ok, user_1} =
+  RealEstate.Accounts.register_user(%{
+    email: "user1@company.com",
+    password: "123456789abc",
+    password_confirmation: "123456789abc"
+  })
 
-RealEstate.Accounts.register_user(%{
-  email: "user2@company.com",
-  password: "123456789abc",
-  password_confirmation: "123456789abc"
-})
+{:ok, user_2} =
+  RealEstate.Accounts.register_user(%{
+    email: "user2@company.com",
+    password: "123456789abc",
+    password_confirmation: "123456789abc"
+  })
+
+Enum.each(1..10, fn i ->
+  %{
+    name: "Property #{i} - User 1",
+    price: :rand.uniform(5) * 100_000,
+    description: "Property that belongs to user 1",
+    user_id: user_1.id
+  }
+  |> RealEstate.Properties.create_property()
+
+  %{
+    name: "Property #{i} - User 2",
+    price: :rand.uniform(5) * 100_000,
+    description: "Property that belongs to user 2",
+    user_id: user_2.id
+  }
+  |> RealEstate.Properties.create_property()
+
+  %{
+    name: "Property #{i} - Admin",
+    price: :rand.uniform(5) * 100_000,
+    description: "Property that belongs to admin",
+    user_id: admin.id
+  }
+  |> RealEstate.Properties.create_property()
+end)