70 lines
1.8 KiB
Rust
70 lines
1.8 KiB
Rust
use super::*;
|
|
use pretty_assertions::assert_eq;
|
|
|
|
#[test]
|
|
fn create_1() {
|
|
assert_eq!(
|
|
Index::create()
|
|
.name("idx-glyph-aspect")
|
|
.table(Glyph::Table)
|
|
.col(Glyph::Aspect)
|
|
.to_string(SqliteQueryBuilder),
|
|
r#"CREATE INDEX "idx-glyph-aspect" ON "glyph" ("aspect")"#
|
|
);
|
|
}
|
|
|
|
#[test]
|
|
fn create_2() {
|
|
assert_eq!(
|
|
Index::create()
|
|
.unique()
|
|
.name("idx-glyph-aspect-image")
|
|
.table(Glyph::Table)
|
|
.col(Glyph::Aspect)
|
|
.col(Glyph::Image)
|
|
.to_string(SqliteQueryBuilder),
|
|
r#"CREATE UNIQUE INDEX "idx-glyph-aspect-image" ON "glyph" ("aspect", "image")"#
|
|
);
|
|
}
|
|
|
|
#[test]
|
|
fn create_3() {
|
|
assert_eq!(
|
|
Index::create()
|
|
.if_not_exists()
|
|
.unique()
|
|
.name("idx-glyph-aspect-image")
|
|
.table(Glyph::Table)
|
|
.col(Glyph::Aspect)
|
|
.col(Glyph::Image)
|
|
.to_string(SqliteQueryBuilder),
|
|
r#"CREATE UNIQUE INDEX IF NOT EXISTS "idx-glyph-aspect-image" ON "glyph" ("aspect", "image")"#
|
|
);
|
|
}
|
|
|
|
#[test]
|
|
fn create_4() {
|
|
assert_eq!(
|
|
Index::create()
|
|
.if_not_exists()
|
|
.unique()
|
|
.name("partial-index-glyph-image-not-null")
|
|
.table(Glyph::Table)
|
|
.col(Glyph::Image)
|
|
.and_where(Expr::col(Glyph::Image).is_not_null())
|
|
.to_string(SqliteQueryBuilder),
|
|
r#"CREATE UNIQUE INDEX IF NOT EXISTS "partial-index-glyph-image-not-null" ON "glyph" ("image") WHERE "image" IS NOT NULL"#
|
|
);
|
|
}
|
|
|
|
#[test]
|
|
fn drop_1() {
|
|
assert_eq!(
|
|
Index::drop()
|
|
.name("idx-glyph-aspect")
|
|
.table(Glyph::Table)
|
|
.to_string(SqliteQueryBuilder),
|
|
r#"DROP INDEX "idx-glyph-aspect""#
|
|
);
|
|
}
|