diff options
Diffstat (limited to 'tests/auto/sql/models/qsqlrelationaltablemodel/tst_qsqlrelationaltablemodel.cpp')
| -rw-r--r-- | tests/auto/sql/models/qsqlrelationaltablemodel/tst_qsqlrelationaltablemodel.cpp | 29 |
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() |
