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)]
mod tests {
use actix::Addr;
use fake::*;
use config::UpdateConfig;
use fake::Fake;
use model::*;
use uuid::Uuid;
use crate::*;
pub struct NoOpts;
impl UpdateConfig for NoOpts {}
async fn test_create_account(db: Addr<Database>) -> FullAccount {
use fake::faker::internet::en;
let login: String = en::Username().fake();
@ -152,15 +157,15 @@ mod tests {
.unwrap()
}
async fn test_create_token(
async fn test_create_token_extended(
db: Addr<Database>,
customer_id: Option<uuid::Uuid>,
customer_id: Option<Uuid>,
role: Option<Role>,
subject: Option<AccountId>,
audience: Option<Audience>,
expiration_time: Option<chrono::NaiveDateTime>,
) -> 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 subject = match subject {
Some(id) => id,
@ -183,7 +188,7 @@ mod tests {
}
#[actix::test]
async fn create_account() {
async fn create_token() {
let config = config::default_load(&mut NoOpts);
config
.lock()
@ -192,16 +197,27 @@ mod tests {
let db = Database::build(config).await.start();
let account = test_create_account(db.clone()).await;
db.send(CreateToken {
customer_id: uuid::Uuid::new_v4(),
customer_id: Uuid::new_v4(),
role: Role::Admin,
subject: account.id,
audience: Default::default(),
subject: test_create_account(db.clone()).await.id,
audience: Audience::Web,
})
.await
.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 = "db", derive(sqlx::Type))]
#[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)]
pub struct TokenId(RecordId);
#[cfg_attr(feature = "dummy", derive(fake::Dummy))]
#[cfg_attr(feature = "db", derive(sqlx::FromRow))]
#[derive(Serialize, Deserialize)]
#[derive(Debug, PartialEq, Serialize, Deserialize)]
pub struct Token {
pub id: TokenId,
pub customer_id: uuid::Uuid,