Fix update account, db tests

This commit is contained in:
eraden 2022-06-04 16:42:27 +02:00
parent a0b9720991
commit d445eb17b2
2 changed files with 28 additions and 12 deletions

View File

@ -129,12 +129,17 @@ RETURNING id, customer_id, role, issuer, subject, audience, expiration_time, not
#[cfg(test)] #[cfg(test)]
mod tests { mod tests {
use actix::Addr; use actix::Addr;
use fake::*; use config::UpdateConfig;
use fake::Fake;
use model::*; use model::*;
use uuid::Uuid; use uuid::Uuid;
use crate::*; use crate::*;
pub struct NoOpts;
impl UpdateConfig for NoOpts {}
async fn test_create_account(db: Addr<Database>) -> FullAccount { async fn test_create_account(db: Addr<Database>) -> FullAccount {
use fake::faker::internet::en; use fake::faker::internet::en;
let login: String = en::Username().fake(); let login: String = en::Username().fake();
@ -152,15 +157,15 @@ mod tests {
.unwrap() .unwrap()
} }
async fn test_create_token( async fn test_create_token_extended(
db: Addr<Database>, db: Addr<Database>,
customer_id: Option<uuid::Uuid>, customer_id: Option<Uuid>,
role: Option<Role>, role: Option<Role>,
subject: Option<AccountId>, subject: Option<AccountId>,
audience: Option<Audience>, audience: Option<Audience>,
expiration_time: Option<chrono::NaiveDateTime>, expiration_time: Option<chrono::NaiveDateTime>,
) -> Token { ) -> Token {
let customer_id = customer_id.unwrap_or_else(|| uuid::Uuid::new_v4()); let customer_id = customer_id.unwrap_or_else(|| Uuid::new_v4());
let role = role.unwrap_or_else(|| Role::Admin); let role = role.unwrap_or_else(|| Role::Admin);
let subject = match subject { let subject = match subject {
Some(id) => id, Some(id) => id,
@ -183,7 +188,7 @@ mod tests {
} }
#[actix::test] #[actix::test]
async fn create_account() { async fn create_token() {
let config = config::default_load(&mut NoOpts); let config = config::default_load(&mut NoOpts);
config config
.lock() .lock()
@ -192,16 +197,27 @@ mod tests {
let db = Database::build(config).await.start(); let db = Database::build(config).await.start();
let account = test_create_account(db.clone()).await;
db.send(CreateToken { db.send(CreateToken {
customer_id: uuid::Uuid::new_v4(), customer_id: Uuid::new_v4(),
role: Role::Admin, role: Role::Admin,
subject: account.id, subject: test_create_account(db.clone()).await.id,
audience: Default::default(), audience: Audience::Web,
}) })
.await .await
.unwrap() .unwrap()
.unwrap(); .unwrap();
} }
#[actix::test]
async fn create_extended_token() {
let config = config::default_load(&mut NoOpts);
config
.lock()
.database_mut()
.set_url("postgres://postgres@localhost/bazzar_test");
let db = Database::build(config).await.start();
test_create_account(db).await;
}
} }

View File

@ -1002,13 +1002,13 @@ impl ShoppingCartItem {
#[cfg_attr(feature = "dummy", derive(fake::Dummy))] #[cfg_attr(feature = "dummy", derive(fake::Dummy))]
#[cfg_attr(feature = "db", derive(sqlx::Type))] #[cfg_attr(feature = "db", derive(sqlx::Type))]
#[cfg_attr(feature = "db", sqlx(transparent))] #[cfg_attr(feature = "db", sqlx(transparent))]
#[derive(Serialize, Deserialize, Copy, Clone, Deref, Display, Debug)] #[derive(Serialize, Deserialize, Copy, Clone, PartialEq, Deref, Display, Debug)]
#[serde(transparent)] #[serde(transparent)]
pub struct TokenId(RecordId); pub struct TokenId(RecordId);
#[cfg_attr(feature = "dummy", derive(fake::Dummy))] #[cfg_attr(feature = "dummy", derive(fake::Dummy))]
#[cfg_attr(feature = "db", derive(sqlx::FromRow))] #[cfg_attr(feature = "db", derive(sqlx::FromRow))]
#[derive(Serialize, Deserialize)] #[derive(Debug, PartialEq, Serialize, Deserialize)]
pub struct Token { pub struct Token {
pub id: TokenId, pub id: TokenId,
pub customer_id: uuid::Uuid, pub customer_id: uuid::Uuid,