_id is free

This commit is contained in:
Priec
2026-08-08 00:19:33 +02:00
parent 0d78556428
commit 5be1a5c661
9 changed files with 58 additions and 24 deletions

View File

@@ -63,7 +63,7 @@ pub(crate) fn render_submission_error(message: &str) -> String {
mod tests {
use super::*;
use crate::{
pages::add_table::draft::{LinkMode, TableDraft},
pages::add_table::draft::TableDraft,
schema::{ColumnDefinition, MoneyMode},
};
@@ -81,7 +81,6 @@ mod tests {
currency: String::new(),
});
draft.set_available_relation_tables(vec!["customer".to_string()]);
draft.cycle_link_mode(0);
draft.toggle_row_display_candidate(1);
AddTablePageState {
@@ -103,11 +102,9 @@ mod tests {
// Every part of the draft travels with the next request.
assert!(html.contains(r#"name="column_names" value="number""#));
assert!(html.contains(r#"name="column_indexed" value="yes""#));
assert!(html.contains(r#"name="link_tables" value="customer""#));
assert!(html.contains(r#"name="link_modes" value="optional""#));
assert!(html.contains(r#"name="relation_tables" value="customer""#));
assert!(html.contains(r#"name="row_display_columns" value="number""#));
// The preview shows the schema as it will exist.
assert!(html.contains("customer_id"));
assert!(html.contains("BIGSERIAL"));
assert!(html.contains("TIMESTAMPTZ"));
}
@@ -208,12 +205,4 @@ mod tests {
assert!(html.contains("The backend is unreachable."));
}
#[test]
fn a_link_mode_is_shown_on_the_button_that_cycles_it() {
let html = render_builder(&page());
assert!(html.contains(r#""action": "cycle-link", "index": "0""#));
assert!(html.contains("mode-optional"));
assert_eq!(LinkMode::Optional.label(), "optional");
}
}

View File

@@ -68,7 +68,15 @@ pub(crate) async fn load_admin_page(
.iter()
.map(|table| TableView {
name: table.name.clone(),
depends_on: table.depends_on.clone(),
// One entry per link, named by the column carrying it, so a
// table pointing at one target twice reads as two links.
depends_on: table
.depends_on
.iter()
.map(|dependency| {
format!("{} ({})", dependency.table_name, dependency.column_name)
})
.collect(),
row_display_columns: table.row_display_columns.clone(),
})
.collect::<Vec<_>>()

View File

@@ -112,7 +112,15 @@ pub(crate) async fn load_page(
.map(|table| TableSummary {
name: table.name.clone(),
table_kind: table.table_kind.clone(),
depends_on: table.depends_on.clone(),
// One entry per link, named by the column carrying it, so a
// table pointing at one target twice reads as two links.
depends_on: table
.depends_on
.iter()
.map(|dependency| {
format!("{} ({})", dependency.table_name, dependency.column_name)
})
.collect(),
row_display_columns: table.row_display_columns.clone(),
})
.collect::<Vec<_>>()