Skip to content

Commit 79ca4ed

Browse files
authored
[HFH-3674] Added proper seeds for container to show data (#551)
Seeds for dummy app testing.
1 parent d15c9fc commit 79ca4ed

File tree

2 files changed

+144
-2
lines changed

2 files changed

+144
-2
lines changed

audiences/spec/dummy/db/seeds.rb

Lines changed: 144 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,144 @@
1+
# frozen_string_literal: true
2+
3+
return unless Rails.env.development?
4+
5+
# Seed data for development environment
6+
7+
territory = Audiences::Group.find_or_create_by!(
8+
resource_type: "Territories",
9+
external_id: "PHL"
10+
) do |g|
11+
g.display_name = "Philadelphia"
12+
g.scim_id = "PHL"
13+
end
14+
15+
territory2 = Audiences::Group.find_or_create_by!(
16+
resource_type: "Territories",
17+
external_id: "NYC"
18+
) do |g|
19+
g.display_name = "New York"
20+
g.scim_id = "NYC"
21+
end
22+
23+
department = Audiences::Group.find_or_create_by!(
24+
resource_type: "Departments",
25+
external_id: "CD"
26+
) do |g|
27+
g.display_name = "Customer Development"
28+
g.scim_id = "CD"
29+
end
30+
31+
department2 = Audiences::Group.find_or_create_by!(
32+
resource_type: "Departments",
33+
external_id: "BT"
34+
) do |g|
35+
g.display_name = "Business Technology"
36+
g.scim_id = "BT"
37+
end
38+
39+
title = Audiences::Group.find_or_create_by!(
40+
resource_type: "Titles",
41+
external_id: "CA"
42+
) do |g|
43+
g.display_name = "Confirmation Agent"
44+
g.scim_id = "CA"
45+
end
46+
47+
title2 = Audiences::Group.find_or_create_by!(
48+
resource_type: "Titles",
49+
external_id: "DEV"
50+
) do |g|
51+
g.display_name = "Developer"
52+
g.scim_id = "DEV"
53+
end
54+
55+
# Create users with minimal data - let the model handle SCIM formatting
56+
users_data = [
57+
{
58+
user_id: "75279",
59+
scim_id: "3888",
60+
display_name: "Talinda Barnett",
61+
picture_url: "",
62+
data: {
63+
"id" => "3888",
64+
"externalId" => "75279",
65+
"displayName" => "Talinda Barnett",
66+
"userName" => "talinda.barnett",
67+
"photos" => [
68+
{ "type" => "photo", "value" => "", "primary" => true },
69+
],
70+
"active" => true,
71+
},
72+
groups: [territory, department, title],
73+
},
74+
{
75+
user_id: "168425",
76+
scim_id: "34158",
77+
display_name: "Kseniia Khodyreva",
78+
picture_url: "",
79+
data: {
80+
"id" => "34158",
81+
"externalId" => "168425",
82+
"displayName" => "Kseniia Khodyreva",
83+
"userName" => "u34158",
84+
"photos" => [
85+
{ "type" => "photo", "value" => "", "primary" => true },
86+
],
87+
"active" => true,
88+
},
89+
groups: [territory, department2, title2],
90+
},
91+
{
92+
user_id: "12345",
93+
scim_id: "5678",
94+
display_name: "John Smith",
95+
picture_url: "",
96+
data: {
97+
"id" => "5678",
98+
"externalId" => "12345",
99+
"displayName" => "John Smith",
100+
"userName" => "john.smith",
101+
"photos" => [
102+
{ "type" => "photo", "value" => "", "primary" => true },
103+
],
104+
"active" => true,
105+
},
106+
groups: [territory2, department2, title2],
107+
},
108+
{
109+
user_id: "67890",
110+
scim_id: "9101",
111+
display_name: "Sarah Johnson",
112+
picture_url: "",
113+
data: {
114+
"id" => "9101",
115+
"externalId" => "67890",
116+
"displayName" => "Sarah Johnson",
117+
"userName" => "sarah.johnson",
118+
"photos" => [
119+
{ "type" => "photo", "value" => "", "primary" => true },
120+
],
121+
"active" => true,
122+
},
123+
groups: [territory2, department, title],
124+
},
125+
]
126+
127+
users_data.each do |user_data|
128+
user = Audiences::ExternalUser.find_or_create_by!(
129+
user_id: user_data[:user_id]
130+
) do |u|
131+
u.scim_id = user_data[:scim_id]
132+
u.display_name = user_data[:display_name]
133+
u.picture_url = user_data[:picture_url]
134+
u.active = true
135+
u.data = user_data[:data]
136+
end
137+
138+
user_data[:groups].each do |group|
139+
Audiences::GroupMembership.find_or_create_by!(
140+
external_user_id: user.id,
141+
group_id: group.id
142+
)
143+
end
144+
end

docker-compose.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
volumes:
22
dummy_web_bundle:
33
dummy_web_db:
4-
scim_stub_db:
54
services:
65
dummy-web:
76
image: ruby:3.4.5@sha256:8fc13ab79e1bf71da804040b587feca8cd9306c2f5def3a970e94f24f60cf97b
@@ -23,7 +22,6 @@ services:
2322
- "3000:3000"
2423
depends_on:
2524
- dummy-vite
26-
- scim-stub
2725
- mysql
2826
volumes:
2927
- .:/app

0 commit comments

Comments
 (0)