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!(
26 db.already_processed_stripe_event(&processed_event_id)
27 .await
28 .unwrap(),
29 "Expected {processed_event_id} to already be processed"
30 );
31
32 assert!(
33 !db.already_processed_stripe_event(&unprocessed_event_id)
34 .await
35 .unwrap(),
36 "Expected {unprocessed_event_id} to be unprocessed"
37 );
38}