summaryrefslogtreecommitdiffstats
path: root/tests/auto/sql/models/qsqlrelationaltablemodel/tst_qsqlrelationaltablemodel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/sql/models/qsqlrelationaltablemodel/tst_qsqlrelationaltablemodel.cpp')
-rw-r--r--tests/auto/sql/models/qsqlrelationaltablemodel/tst_qsqlrelationaltablemodel.cpp29
1 files changed, 26 insertions, 3 deletions
diff --git a/tests/auto/sql/models/qsqlrelationaltablemodel/tst_qsqlrelationaltablemodel.cpp b/tests/auto/sql/models/qsqlrelationaltablemodel/tst_qsqlrelationaltablemodel.cpp
index 3879c0f2ae4..2f408b10267 100644
--- a/tests/auto/sql/models/qsqlrelationaltablemodel/tst_qsqlrelationaltablemodel.cpp
+++ b/tests/auto/sql/models/qsqlrelationaltablemodel/tst_qsqlrelationaltablemodel.cpp
@@ -476,6 +476,29 @@ void tst_QSqlRelationalTableModel::insertRecord()
model.setSort(0, Qt::AscendingOrder);
QVERIFY_SQL(model, select());
+ constexpr auto fkTitleKey = 4711;
+ constexpr auto fkTitleVal = "new title";
+ {
+ auto relModel = model.relationModel(2);
+ // make sure populateDictionary() is called
+ relModel->select();
+
+ QSqlRecord rec;
+ QSqlField f1("id", QMetaType(QMetaType::Int));
+ QSqlField f2("title", QMetaType(QMetaType::QString));
+
+ f1.setValue(fkTitleKey);
+ f2.setValue(fkTitleVal);
+
+ f1.setGenerated(true);
+ f2.setGenerated(true);
+
+ rec.append(f1);
+ rec.append(f2);
+
+ QVERIFY(relModel->insertRecord(-1, rec));
+ }
+
QSqlRecord rec;
QSqlField f1("id", QMetaType(QMetaType::Int));
QSqlField f2("name", QMetaType(QMetaType::QString));
@@ -484,7 +507,7 @@ void tst_QSqlRelationalTableModel::insertRecord()
f1.setValue(7);
f2.setValue("test");
- f3.setValue(1);
+ f3.setValue(fkTitleKey);
f4.setValue(2);
f1.setGenerated(true);
@@ -501,7 +524,7 @@ void tst_QSqlRelationalTableModel::insertRecord()
QCOMPARE(model.data(model.index(4, 0)).toInt(), 7);
QCOMPARE(model.data(model.index(4, 1)).toString(), QString("test"));
- QCOMPARE(model.data(model.index(4, 2)).toString(), QString("herr"));
+ QCOMPARE(model.data(model.index(4, 2)).toString(), QString(fkTitleVal));
// In LeftJoin mode, two additional rows are fetched
model.setJoinMode(QSqlRelationalTableModel::LeftJoin);
@@ -509,7 +532,7 @@ void tst_QSqlRelationalTableModel::insertRecord()
QCOMPARE(model.data(model.index(6, 0)).toInt(), 7);
QCOMPARE(model.data(model.index(6, 1)).toString(), QString("test"));
- QCOMPARE(model.data(model.index(6, 2)).toString(), QString("herr"));
+ QCOMPARE(model.data(model.index(6, 2)).toString(), QString(fkTitleVal));
}
void tst_QSqlRelationalTableModel::setRecord()