1use std::sync::Arc;
2
3use crate::test_both_dbs;
4
5use super::{CreateProcessedStripeEventParams, Database};
6
7test_both_dbs!(
8 test_already_processed_stripe_event,
9 test_already_processed_stripe_event_postgres,
10 test_already_processed_stripe_event_sqlite
11);
12
13async fn test_already_processed_stripe_event(db: &Arc<Database>) {
14 let unprocessed_event_id = "evt_1PiJOuRxOf7d5PNaw2zzWiyO".to_string();
15 let processed_event_id = "evt_1PiIfMRxOf7d5PNakHrAUe8P".to_string();
16
17 db.create_processed_stripe_event(&CreateProcessedStripeEventParams {
18 stripe_event_id: processed_event_id.clone(),
19 stripe_event_type: "customer.created".into(),
20 stripe_event_created_timestamp: 1722355968,
21 })
22 .await
23 .unwrap();
24
25 assert_eq!(
26 db.already_processed_stripe_event(&processed_event_id)
27 .await
28 .unwrap(),
29 true,
30 "Expected {processed_event_id} to already be processed"
31 );
32
33 assert_eq!(
34 db.already_processed_stripe_event(&unprocessed_event_id)
35 .await
36 .unwrap(),
37 false,
38 "Expected {unprocessed_event_id} to be unprocessed"
39 );
40}