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
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, &self,
campaign_id: &str, campaign_id: &str,
) -> DBResult<()>; ) -> 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)] #[derive(Debug, Clone, Default, Deserialize, Serialize, PartialEq)]

View File

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