processed_stripe_event_tests.rs

 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}