diff options
Diffstat (limited to 'development/libs/barrel/src/tests/pg/add_column.rs')
-rw-r--r-- | development/libs/barrel/src/tests/pg/add_column.rs | 165 |
1 files changed, 165 insertions, 0 deletions
diff --git a/development/libs/barrel/src/tests/pg/add_column.rs b/development/libs/barrel/src/tests/pg/add_column.rs new file mode 100644 index 000000000000..5a98ae563e42 --- /dev/null +++ b/development/libs/barrel/src/tests/pg/add_column.rs @@ -0,0 +1,165 @@ +//! All add_column combinations for pgsql +#![allow(unused_imports)] + +use crate::backend::{Pg, SqlGenerator}; +use crate::types; + +#[test] +fn text() { + let sql = Pg::add_column(true, None, "Text", &types::text()); + assert_eq!(String::from("ADD COLUMN \"Text\" TEXT NOT NULL"), sql); +} + +#[test] +fn varchar() { + let sql = Pg::add_column(true, None, "Varchar", &types::varchar(255)); + assert_eq!( + String::from("ADD COLUMN \"Varchar\" VARCHAR(255) NOT NULL"), + sql + ); +} + +#[test] +fn integer() { + let sql = Pg::add_column(true, None, "Integer", &types::integer()); + assert_eq!(String::from("ADD COLUMN \"Integer\" INTEGER NOT NULL"), sql); +} + +#[test] +fn float() { + let sql = Pg::add_column(true, None, "Float", &types::float()); + assert_eq!(String::from("ADD COLUMN \"Float\" FLOAT NOT NULL"), sql); +} + +#[test] +fn double() { + let sql = Pg::add_column(true, None, "Double", &types::double()); + assert_eq!( + String::from("ADD COLUMN \"Double\" DOUBLE PRECISION NOT NULL"), + sql + ); +} + +#[test] +fn boolean() { + let sql = Pg::add_column(true, None, "Boolean", &types::boolean()); + assert_eq!(String::from("ADD COLUMN \"Boolean\" BOOLEAN NOT NULL"), sql); +} + +#[test] +fn binary() { + let sql = Pg::add_column(true, None, "Binary", &types::binary()); + assert_eq!(String::from("ADD COLUMN \"Binary\" BYTEA NOT NULL"), sql); +} + +#[test] +fn date() { + let sql = Pg::add_column(true, None, "Date", &types::date()); + assert_eq!(String::from("ADD COLUMN \"Date\" DATE NOT NULL"), sql); +} + +#[test] +fn foreign() { + let sql = Pg::add_column(true, None, "Foreign", &types::foreign("posts", "id")); + assert_eq!( + String::from("ADD COLUMN \"Foreign\" INTEGER REFERENCES \"posts\"(id) NOT NULL"), + sql + ); +} + +#[test] +fn custom() { + let sql = Pg::add_column(true, None, "Point", &types::custom("POINT")); + assert_eq!(String::from("ADD COLUMN \"Point\" POINT NOT NULL"), sql); +} + +#[test] +fn array_text() { + let sql = Pg::add_column(true, None, "Array of Text", &types::array(&types::text())); + assert_eq!( + String::from("ADD COLUMN \"Array of Text\" TEXT[] NOT NULL"), + sql + ); +} + +#[test] +fn array_varchar() { + let sql = Pg::add_column( + true, + None, + "Array of Varchar", + &types::array(&types::varchar(255)), + ); + assert_eq!( + String::from("ADD COLUMN \"Array of Varchar\" VARCHAR(255)[] NOT NULL"), + sql + ); +} + +#[test] +fn array_integer() { + let sql = Pg::add_column(true, None, "Array of Integer", &types::array(&types::integer())); + assert_eq!( + String::from("ADD COLUMN \"Array of Integer\" INTEGER[] NOT NULL"), + sql + ); +} + +#[test] +fn array_float() { + let sql = Pg::add_column(true, None, "Array of Float", &types::array(&types::float())); + assert_eq!( + String::from("ADD COLUMN \"Array of Float\" FLOAT[] NOT NULL"), + sql + ); +} + +#[test] +fn array_double() { + let sql = Pg::add_column(true, None, "Array of Double", &types::array(&types::double())); + assert_eq!( + String::from("ADD COLUMN \"Array of Double\" DOUBLE PRECISION[] NOT NULL"), + sql + ); +} + +#[test] +fn array_boolean() { + let sql = Pg::add_column(true, None, "Array of Boolean", &types::array(&types::boolean())); + assert_eq!( + String::from("ADD COLUMN \"Array of Boolean\" BOOLEAN[] NOT NULL"), + sql + ); +} + +#[test] +fn array_binary() { + let sql = Pg::add_column(true, None, "Array of Binary", &types::array(&types::binary())); + assert_eq!( + String::from("ADD COLUMN \"Array of Binary\" BYTEA[] NOT NULL"), + sql + ); +} + +// #[test] +// fn array_custom() { +// let sql = Pg::add_column(true, "Array of Point", &types::array(&types::custom("POINT"))); +// assert_eq!( +// String::from("ADD COLUMN \"Array of Point\" POINT[] NOT NULL"), +// sql +// ); +// } + +#[test] +fn array_array_integer() { + let sql = Pg::add_column( + true, + None, + "Array of Array of Integer", + &types::array(&types::array(&types::integer())), + ); + assert_eq!( + String::from("ADD COLUMN \"Array of Array of Integer\" INTEGER[][] NOT NULL"), + sql + ); +} |