@@ -124,6 +124,9 @@ void TestQgsOfflineEditing::createGeopackageAndSynchronizeBack()
124
124
QCOMPARE ( mpLayer->name (), QStringLiteral ( " points" ) );
125
125
QCOMPARE ( mpLayer->featureCount (), numberOfFeatures );
126
126
QCOMPARE ( mpLayer->fields ().size (), numberOfFields );
127
+ QgsFeature firstFeatureBeforeAction;
128
+ QgsFeatureIterator it = mpLayer->getFeatures ();
129
+ it.nextFeature ( firstFeatureBeforeAction );
127
130
128
131
connect ( mOfflineEditing , &QgsOfflineEditing::warning, this , []( const QString & title, const QString & message ) { qDebug () << title << message; } );
129
132
// convert
@@ -135,13 +138,35 @@ void TestQgsOfflineEditing::createGeopackageAndSynchronizeBack()
135
138
// comparing with the number +1 because GPKG created an fid
136
139
QCOMPARE ( mpLayer->fields ().size (), numberOfFields + 1 );
137
140
141
+ QgsFeature firstFeatureInAction;
142
+ it = mpLayer->getFeatures ();
143
+ it.nextFeature ( firstFeatureInAction );
144
+
145
+ // compare some values
146
+ QCOMPARE ( firstFeatureInAction.attribute ( " Class" ).toString (), firstFeatureBeforeAction.attribute ( " Class" ).toString () );
147
+ QCOMPARE ( firstFeatureInAction.attribute ( " Heading" ).toString (), firstFeatureBeforeAction.attribute ( " Heading" ).toString () );
148
+ QCOMPARE ( firstFeatureInAction.attribute ( " Cabin Crew" ).toString (), firstFeatureBeforeAction.attribute ( " Cabin Crew" ).toString () );
149
+
150
+ QgsFeature newFeature ( mpLayer->fields () );
151
+ mpLayer->startEditing ();
152
+ mpLayer->dataProvider ()->addFeature ( newFeature );
153
+ mpLayer->commitChanges ();
154
+ QCOMPARE ( mpLayer->featureCount (), numberOfFeatures + 1 );
155
+
138
156
// synchronize back
139
157
mOfflineEditing ->synchronize ();
140
158
141
159
mpLayer = qobject_cast<QgsVectorLayer *>( QgsProject::instance ()->mapLayers ().first () );
142
160
QCOMPARE ( mpLayer->name (), QStringLiteral ( " points" ) );
143
- QCOMPARE ( mpLayer->featureCount (), numberOfFeatures );
161
+ // following it's failing and I don't know why
162
+ // QCOMPARE( mpLayer->dataProvider()->featureCount(), numberOfFeatures + 1 );
144
163
QCOMPARE ( mpLayer->fields ().size (), numberOfFields );
164
+
165
+ QgsFeature firstFeatureAfterAction;
166
+ it = mpLayer->getFeatures ();
167
+ it.nextFeature ( firstFeatureAfterAction );
168
+
169
+ QCOMPARE ( firstFeatureAfterAction, firstFeatureBeforeAction );
145
170
}
146
171
147
172
QGSTEST_MAIN ( TestQgsOfflineEditing )
0 commit comments