This commit is contained in:
2025-11-09 18:20:29 +01:00
parent 81571e4c64
commit da0f2ae8ab
10 changed files with 147 additions and 63 deletions
+22 -22
View File
@@ -2,7 +2,7 @@ mod common;
use anyhow::{anyhow, Result};
use axum::http::StatusCode;
use common::{acquire_db_lock, body_to_vec, TestApp, UploadExtras};
use common::{acquire_db_lock, body_to_vec, TestApp, UploadExtras, TestUserRole};
use diesel::prelude::*;
use serde::{Deserialize, Serialize};
use serde_json::{json, Value};
@@ -166,7 +166,7 @@ async fn upload_and_list_document() -> Result<()> {
let app = TestApp::new().await?;
let password = "passw0rd";
app.insert_user("dana", password, "admin").await?;
app.insert_user("dana", TestUserRole::Owner).await?;
let token = app.login_token("dana", password).await?;
let file_bytes = b"example document body".to_vec();
@@ -254,7 +254,7 @@ async fn upload_document_with_custom_title_sets_filename() -> Result<()> {
let app = TestApp::new().await?;
let password = "passw0rd";
app.insert_user("nora", password, "admin").await?;
app.insert_user("nora", TestUserRole::Owner).await?;
let token = app.login_token("nora", password).await?;
let file_bytes = b"example contract body".to_vec();
@@ -300,7 +300,7 @@ async fn asset_detail_uses_proxy_urls_when_configured() -> Result<()> {
let username = "proxy-assets";
let password = "secret";
app.insert_user(username, password, "admin").await?;
app.insert_user(username, TestUserRole::Owner).await?;
let token = app.login_token(username, password).await?;
let upload = app
@@ -382,7 +382,7 @@ async fn document_list_sorting_controls() -> Result<()> {
let app = TestApp::new().await?;
let password = "passw0rd";
app.insert_user("sorting", password, "admin").await?;
app.insert_user("sorting", TestUserRole::Owner).await?;
let token = app.login_token("sorting", password).await?;
let first = app
@@ -461,7 +461,7 @@ async fn duplicate_and_restore_document() -> Result<()> {
let app = TestApp::new().await?;
let password = "pass1234";
app.insert_user("sam", password, "admin").await?;
app.insert_user("sam", TestUserRole::Owner).await?;
let token = app.login_token("sam", password).await?;
let payload = b"same bytes".to_vec();
@@ -572,7 +572,7 @@ async fn upload_skips_existing_when_requested() -> Result<()> {
let app = TestApp::new().await?;
let password = "skip-doc";
app.insert_user("skip", password, "admin").await?;
app.insert_user("skip", TestUserRole::Owner).await?;
let token = app.login_token("skip", password).await?;
let primary_tag_payload = CreateTagPayload {
@@ -710,7 +710,7 @@ async fn filter_documents_without_tags() -> Result<()> {
let app = TestApp::new().await?;
let password = "tagfilter";
app.insert_user("tagfilter", password, "admin").await?;
app.insert_user("tagfilter", TestUserRole::Owner).await?;
let token = app.login_token("tagfilter", password).await?;
// Create a tag and upload a document that uses it.
@@ -785,7 +785,7 @@ async fn bulk_move_documents_to_folder() -> Result<()> {
let app = TestApp::new().await?;
let password = "bulkmove";
app.insert_user("mover", password, "admin").await?;
app.insert_user("mover", TestUserRole::Owner).await?;
let token = app.login_token("mover", password).await?;
let alpha = app
@@ -898,7 +898,7 @@ async fn bulk_add_tags_for_selection() -> Result<()> {
let app = TestApp::new().await?;
let password = "bulktags";
app.insert_user("tagger", password, "admin").await?;
app.insert_user("tagger", TestUserRole::Owner).await?;
let token = app.login_token("tagger", password).await?;
let first = app
@@ -1038,7 +1038,7 @@ async fn bulk_remove_tags_from_selection() -> Result<()> {
let app = TestApp::new().await?;
let password = "bulktagremove";
app.insert_user("tagrem", password, "admin").await?;
app.insert_user("tagrem", TestUserRole::Owner).await?;
let token = app.login_token("tagrem", password).await?;
let first = app
@@ -1166,7 +1166,7 @@ async fn bulk_reanalyze_selected_documents() -> Result<()> {
let app = TestApp::new().await?;
let password = "subsetrean";
app.insert_user("subset", password, "admin").await?;
app.insert_user("subset", TestUserRole::Owner).await?;
let token = app.login_token("subset", password).await?;
app.clear_jobs().await?;
@@ -1277,7 +1277,7 @@ async fn patch_document_updates_title_and_handles_conflict() -> Result<()> {
let app = TestApp::new().await?;
let password = "patch-title";
app.insert_user("editor", password, "admin").await?;
app.insert_user("editor", TestUserRole::Owner).await?;
let token = app.login_token("editor", password).await?;
let first_upload = app
@@ -1345,7 +1345,7 @@ async fn patch_document_updates_and_clears_issued_at() -> Result<()> {
let app = TestApp::new().await?;
let password = "patch-issued";
app.insert_user("scheduler", password, "admin").await?;
app.insert_user("scheduler", TestUserRole::Owner).await?;
let token = app.login_token("scheduler", password).await?;
let upload = app
@@ -1410,7 +1410,7 @@ async fn patch_document_metadata_merge_and_replace() -> Result<()> {
let app = TestApp::new().await?;
let password = "patch-meta";
app.insert_user("curator", password, "admin").await?;
app.insert_user("curator", TestUserRole::Owner).await?;
let token = app.login_token("curator", password).await?;
let initial_metadata = r#"{"existing":{"keep":true},"other":1}"#;
@@ -1489,7 +1489,7 @@ async fn patch_document_validation_errors() -> Result<()> {
let app = TestApp::new().await?;
let password = "patch-errors";
app.insert_user("auditor", password, "admin").await?;
app.insert_user("auditor", TestUserRole::Owner).await?;
let token = app.login_token("auditor", password).await?;
let upload = app
@@ -1612,7 +1612,7 @@ async fn patch_document_updates_multiple_fields() -> Result<()> {
let app = TestApp::new().await?;
let password = "patch-multi";
app.insert_user("planner", password, "admin").await?;
app.insert_user("planner", TestUserRole::Owner).await?;
let token = app.login_token("planner", password).await?;
let upload = app
@@ -1671,7 +1671,7 @@ async fn list_documents_by_status_filter() -> Result<()> {
let app = TestApp::new().await?;
let password = "statusfilter";
app.insert_user("statususer", password, "admin").await?;
app.insert_user("statususer", TestUserRole::Owner).await?;
let token = app.login_token("statususer", password).await?;
let upload = app
@@ -1725,7 +1725,7 @@ async fn purge_document_removes_data() -> Result<()> {
let app = TestApp::new().await?;
let password = "purge";
app.insert_user("purger", password, "admin").await?;
app.insert_user("purger", TestUserRole::Owner).await?;
let token = app.login_token("purger", password).await?;
let upload = app
@@ -1823,7 +1823,7 @@ async fn delete_document_requires_trash() -> Result<()> {
let app = TestApp::new().await?;
let password = "conflict";
app.insert_user("conflict-user", password, "admin").await?;
app.insert_user("conflict-user", TestUserRole::Owner).await?;
let token = app.login_token("conflict-user", password).await?;
let upload = app
@@ -1857,7 +1857,7 @@ async fn restore_document_to_original_and_custom_folder() -> Result<()> {
let app = TestApp::new().await?;
let password = "restoretest";
app.insert_user("restorer", password, "admin").await?;
app.insert_user("restorer", TestUserRole::Owner).await?;
let token = app.login_token("restorer", password).await?;
let upload = app
@@ -1960,7 +1960,7 @@ async fn list_document_versions_and_fetch_detail() -> Result<()> {
let app = TestApp::new().await?;
let password = "versionlist";
app.insert_user("versions", password, "admin").await?;
app.insert_user("versions", TestUserRole::Owner).await?;
let token = app.login_token("versions", password).await?;
let upload = app