Skip to content

Commit fca32c2

Browse files
committed
feat: Add seed script for test data and update refunded status in mock data
1 parent 741048d commit fca32c2

File tree

2 files changed

+168
-1
lines changed

2 files changed

+168
-1
lines changed

cloudflare-worker/src/test/mock-data.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ export const purchasesData: Purchase[] = [
6969
amount: 10.99,
7070
screenshot:
7171
"UklGRp4AAABXRUJQVlA4WAoAAAAQAAAABwAABwAAQUxQSAkAAAABBxAREYiI/gcAVlA4IBgAAAAwAQCdASoIAAgAAUAmJaQAA3AA/vz0AABQU0FJTgAAADhCSU0D7QAAAAAAEABIAAAAAQACAEgAAAABAAI4QklNBCgAAAAAAAwAAAACP/AAAAAAAAA4QklNBEMAAAAAAA5QYmVXARAABgBQAAAAAA==",
72-
refunded: false,
72+
refunded: true,
7373
},
7474
{
7575
id: "aa92494a-a036-4a4e-9c6a-c3821a8cb6a4",
Lines changed: 167 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,167 @@
1+
/*
2+
* MIT License
3+
*
4+
* Copyright (c) 2025 Ronan LE MEILLAT
5+
*
6+
* Permission is hereby granted, free of charge, to any person obtaining a copy
7+
* of this software and associated documentation files (the "Software"), to deal
8+
* in the Software without restriction, including without limitation the rights
9+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10+
* copies of the Software, and to permit persons to whom the Software is
11+
* furnished to do so, subject to the following conditions:
12+
*
13+
* The above copyright notice and this permission notice shall be included in all
14+
* copies or substantial portions of the Software.
15+
*
16+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22+
* SOFTWARE.
23+
*/
24+
25+
-- Active les clés étrangères pour assurer l'intégrité référentielle
26+
PRAGMA foreign_keys = ON;
27+
28+
-- Désactiver temporairement les triggers pour l'insertion initiale
29+
PRAGMA triggers = OFF;
30+
31+
-- Supprime les données existantes (optionnel, à utiliser avec précaution)
32+
DELETE FROM refunds;
33+
DELETE FROM publications;
34+
DELETE FROM feedbacks;
35+
DELETE FROM purchases;
36+
DELETE FROM id_mappings;
37+
DELETE FROM testers;
38+
39+
-- Réinitialise les compteurs auto-increment (si nécessaire)
40+
DELETE FROM sqlite_sequence WHERE name IN ('feedbacks', 'publications', 'refunds');
41+
42+
-- Insertion des testeurs
43+
INSERT INTO testers (uuid, name) VALUES
44+
('45f9830a-309b-4cda-95ec-71e000b78f7d', 'John Doe'),
45+
('cc97a5cc-c4ba-4804-98b5-90532f09bd83', 'Jane Doe');
46+
47+
-- Insertion des mappages d'IDs
48+
INSERT INTO id_mappings (id, tester_uuid) VALUES
49+
('auth0|1234567890', '45f9830a-309b-4cda-95ec-71e000b78f7d'),
50+
('auth0|0987654321', 'cc97a5cc-c4ba-4804-98b5-90532f09bd83');
51+
52+
-- Insertion des achats - directement avec les valeurs refunded de mock-data.ts
53+
-- Notez que nous avons désactivé les triggers pour pouvoir définir les valeurs refunded manuellement
54+
INSERT INTO purchases (id, tester_uuid, date, order_number, description, amount, screenshot, refunded) VALUES
55+
(
56+
'd5726cf2-36f6-41d8-bd37-f349314561b4',
57+
'45f9830a-309b-4cda-95ec-71e000b78f7d',
58+
'2025-03-23',
59+
'123',
60+
'Test order',
61+
10.99,
62+
'UklGRp4AAABXRUJQVlA4WAoAAAAQAAAABwAABwAAQUxQSAkAAAABBxAREYiI/gcAVlA4IBgAAAAwAQCdASoIAAgAAUAmJaQAA3AA/vz0AABQU0FJTgAAADhCSU0D7QAAAAAAEABIAAAAAQACAEgAAAABAAI4QklNBCgAAAAAAAwAAAACP/AAAAAAAAA4QklNBEMAAAAAAA5QYmVXARAABgBQAAAAAA==',
63+
1 -- refunded: true dans mock-data.ts
64+
),
65+
(
66+
'aa92494a-a036-4a4e-9c6a-c3821a8cb6a4',
67+
'cc97a5cc-c4ba-4804-98b5-90532f09bd83',
68+
'2021-02-01',
69+
'456',
70+
'Test order 2',
71+
20.99,
72+
'UklGRp4AAABXRUJQVlA4WAoAAAAQAAAABwAABwAAQUxQSAkAAAABBxAREYiI/gcAVlA4IBgAAAAwAQCdASoIAAgAAUAmJaQAA3AA/vz0AABQU0FJTgAAADhCSU0D7QAAAAAAEABIAAAAAQACAEgAAAABAAI4QklNBCgAAAAAAAwAAAACP/AAAAAAAAA4QklNBEMAAAAAAA5QYmVXARAABgBQAAAAAA==',
73+
1 -- refunded: true dans mock-data.ts
74+
),
75+
(
76+
'b5e8c21d-7f4e-4a6b-9c3d-9e7a1f2b3c4d',
77+
'45f9830a-309b-4cda-95ec-71e000b78f7d',
78+
'2025-02-15',
79+
'789',
80+
'Premium product test',
81+
59.99,
82+
'UklGRp4AAABXRUJQVlA4WAoAAAAQAAAABwAABwAAQUxQSAkAAAABBxAREYiI/gcAVlA4IBgAAAAwAQCdASoIAAgAAUAmJaQAA3AA/vz0AABQU0FJTgAAADhCSU0D7QAAAAAAEABIAAAAAQACAEgAAAABAAI4QklNBCgAAAAAAAwAAAACP/AAAAAAAAA4QklNBEMAAAAAAA5QYmVXARAABgBQAAAAAA==',
83+
0 -- refunded: false dans mock-data.ts
84+
);
85+
86+
-- Insertion des feedbacks
87+
INSERT INTO feedbacks (purchase_id, date, feedback) VALUES
88+
(
89+
'd5726cf2-36f6-41d8-bd37-f349314561b4',
90+
'2025-03-23',
91+
'Great product, fast delivery and exactly as described!'
92+
),
93+
(
94+
'aa92494a-a036-4a4e-9c6a-c3821a8cb6a4',
95+
'2021-02-05',
96+
'Product was good but shipping took longer than expected.'
97+
);
98+
99+
-- Insertion des publications
100+
INSERT INTO publications (purchase_id, date, screenshot) VALUES
101+
(
102+
'd5726cf2-36f6-41d8-bd37-f349314561b4',
103+
'2025-03-23',
104+
'UklGRp4AAABXRUJQVlA4WAoAAAAQAAAABwAABwAAQUxQSAkAAAABBxAREYiI/gcAVlA4IBgAAAAwAQCdASoIAAgAAUAmJaQAA3AA/vz0AABQU0FJTgAAADhCSU0D7QAAAAAAEABIAAAAAQACAEgAAAABAAI4QklNBCgAAAAAAAwAAAACP/AAAAAAAAA4QklNBEMAAAAAAA5QYmVXARAABgBQAAAAAA=='
105+
),
106+
(
107+
'aa92494a-a036-4a4e-9c6a-c3821a8cb6a4',
108+
'2021-02-10',
109+
'UklGRp4AAABXRUJQVlA4WAoAAAAQAAAABwAABwAAQUxQSAkAAAABBxAREYiI/gcAVlA4IBgAAAAwAQCdASoIAAgAAUAmJaQAA3AA/vz0AABQU0FJTgAAADhCSU0D7QAAAAAAEABIAAAAAQACAEgAAAABAAI4QklNBCgAAAAAAAwAAAACP/AAAAAAAAA4QklNBEMAAAAAAA5QYmVXARAABgBQAAAAAA=='
110+
);
111+
112+
-- Insertion des remboursements
113+
INSERT INTO refunds (purchase_id, date, refund_date, amount) VALUES
114+
(
115+
'd5726cf2-36f6-41d8-bd37-f349314561b4',
116+
'2025-03-25',
117+
'2025-03-28',
118+
10.99
119+
),
120+
(
121+
'aa92494a-a036-4a4e-9c6a-c3821a8cb6a4',
122+
'2021-02-15',
123+
'2021-02-20',
124+
20.99
125+
);
126+
127+
-- Réactiver les triggers après l'insertion des données
128+
PRAGMA triggers = ON;
129+
130+
-- Requêtes de vérification des données insérées
131+
-- SELECT 'Testers' as table_name, COUNT(*) as count FROM testers
132+
-- UNION ALL
133+
-- SELECT 'ID Mappings', COUNT(*) FROM id_mappings
134+
-- UNION ALL
135+
-- SELECT 'Purchases', COUNT(*) FROM purchases
136+
-- UNION ALL
137+
-- SELECT 'Feedbacks', COUNT(*) FROM feedbacks
138+
-- UNION ALL
139+
-- SELECT 'Publications', COUNT(*) FROM publications
140+
-- UNION ALL
141+
-- SELECT 'Refunds', COUNT(*) FROM refunds;
142+
143+
-- Vérification d'un échantillon de données de chaque table
144+
-- SELECT '==== Testers ====' as result;
145+
-- SELECT uuid, name FROM testers;
146+
147+
-- SELECT '==== ID Mappings ====' as result;
148+
-- SELECT id, tester_uuid FROM id_mappings;
149+
150+
-- SELECT '==== Purchases ====' as result;
151+
-- SELECT id, tester_uuid, description, amount, refunded FROM purchases;
152+
153+
-- SELECT '==== Feedbacks ====' as result;
154+
-- SELECT purchase_id, date, feedback FROM feedbacks;
155+
156+
-- SELECT '==== Publications ====' as result;
157+
-- SELECT purchase_id, date FROM publications;
158+
159+
-- SELECT '==== Refunds ====' as result;
160+
-- SELECT purchase_id, date, refund_date, amount FROM refunds;
161+
162+
-- Exemples de requêtes utilisant les vues
163+
-- SELECT '==== Purchase Status (vue) ====' as result;
164+
-- SELECT * FROM purchase_status;
165+
166+
-- SELECT '==== Tester Statistics (vue) ====' as result;
167+
-- SELECT * FROM tester_statistics;

0 commit comments

Comments
 (0)