feat: utility method to check if captcha is published

This commit is contained in:
Aravinth Manivannan 2023-06-30 16:15:44 +05:30
parent 99db889867
commit 3c6b13f947
No known key found for this signature in database
GPG key ID: AD9F0F08E855ED88
2 changed files with 13 additions and 6 deletions

View file

@ -289,6 +289,18 @@ pub trait MCDatabase: std::marker::Send + std::marker::Sync + CloneSPDatabase {
&self,
campaign_id: &str,
) -> DBResult<()>;
/// Get publishing status of pow analytics for captcha ID/ campaign ID
async fn analytics_captcha_is_published(&self, campaign_id: &str) -> DBResult<bool> {
match self
.analytics_get_psuedo_id_from_capmaign_id(campaign_id)
.await
{
Ok(_) => Ok(true),
Err(errors::DBError::CaptchaNotFound) => Ok(false),
Err(e) => Err(e),
}
}
}
#[derive(Debug, Clone, Default, Deserialize, Serialize, PartialEq)]

View file

@ -308,12 +308,7 @@ pub async fn database_works<'a, T: MCDatabase>(
.await
.unwrap();
assert_eq!(db.analytics_fetch(c.key, 1000, 0).await.unwrap().len(), 0);
let err = db.analytics_get_psuedo_id_from_capmaign_id(c.key).await;
assert!(err.is_err());
assert_eq!(
format!("{:?}", err),
format!("{:?}", Err::<(), errors::DBError>(DBError::CaptchaNotFound))
);
assert!(!db.analytics_captcha_is_published(c.key).await.unwrap());
db.analytics_delete_all_records_for_campaign(c.key)
.await
.unwrap();