aboutsummaryrefslogtreecommitdiffstats
path: root/tests/unit
diff options
context:
space:
mode:
authorMarco Bubke <marco.bubke@qt.io>2020-06-02 22:16:06 +0200
committerTim Jenssen <tim.jenssen@qt.io>2020-06-05 09:57:47 +0000
commitcf441e8198b4bb7ccf41a41506dbddbab2048f24 (patch)
tree69f713209fb052347f4aa83fc633f1633464af78 /tests/unit
parenta61eff007900ba572a40fc4116e1f217cd83c36f (diff)
Sqlite: Add primary key table constraint to table builder
Change-Id: I60c158eb76db2217a2d045053bb8e47eef75ff7a Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Diffstat (limited to 'tests/unit')
-rw-r--r--tests/unit/unittest/createtablesqlstatementbuilder-test.cpp13
-rw-r--r--tests/unit/unittest/sqlitetable-test.cpp13
2 files changed, 26 insertions, 0 deletions
diff --git a/tests/unit/unittest/createtablesqlstatementbuilder-test.cpp b/tests/unit/unittest/createtablesqlstatementbuilder-test.cpp
index 49099081a0..0e92b06897 100644
--- a/tests/unit/unittest/createtablesqlstatementbuilder-test.cpp
+++ b/tests/unit/unittest/createtablesqlstatementbuilder-test.cpp
@@ -530,4 +530,17 @@ TEST_F(CreateTableSqlStatementBuilder, BlobType)
ASSERT_THAT(builder.sqlStatement(), "CREATE TABLE test(data BLOB)");
}
+TEST_F(CreateTableSqlStatementBuilder, TablePrimaryKeyConstaint)
+{
+ builder.clear();
+ builder.setTableName("test");
+ builder.addColumn("id", ColumnType::Integer);
+ builder.addColumn("text", ColumnType::Text);
+
+ builder.addConstraint(Sqlite::TablePrimaryKey{{"id, text"}});
+ auto statement = builder.sqlStatement();
+
+ ASSERT_THAT(statement, "CREATE TABLE test(id INTEGER, text TEXT, PRIMARY KEY(id, text))");
+}
+
} // namespace
diff --git a/tests/unit/unittest/sqlitetable-test.cpp b/tests/unit/unittest/sqlitetable-test.cpp
index 05d3e73462..f96b451785 100644
--- a/tests/unit/unittest/sqlitetable-test.cpp
+++ b/tests/unit/unittest/sqlitetable-test.cpp
@@ -292,4 +292,17 @@ TEST_F(SqliteTable, AddForeignKeyColumnWithColumnAndNotNull)
VariantWith<Sqlite::NotNull>(Eq(Sqlite::NotNull{}))))));
}
+TEST_F(SqliteTable, AddPrimaryTableContraint)
+{
+ table.setName(tableName.clone());
+ const auto &idColumn = table.addColumn("id");
+ const auto &nameColumn = table.addColumn("name");
+ table.addPrimaryKeyContraint({idColumn, nameColumn});
+
+ EXPECT_CALL(mockDatabase,
+ execute(
+ Eq("CREATE TABLE testTable(id NUMERIC, name NUMERIC, PRIMARY KEY(id, name))")));
+
+ table.initialize(mockDatabase);
+}
} // namespace