videocollection/videocollectionwrapper/tsrc/testvideosortfilterproxymodel/src/testvideosortfilterproxymodel.cpp
changeset 35 3738fe97f027
parent 34 bbb98528c666
child 36 8aed59de29f9
--- a/videocollection/videocollectionwrapper/tsrc/testvideosortfilterproxymodel/src/testvideosortfilterproxymodel.cpp	Thu Apr 01 23:22:15 2010 +0300
+++ b/videocollection/videocollectionwrapper/tsrc/testvideosortfilterproxymodel/src/testvideosortfilterproxymodel.cpp	Thu Apr 01 23:32:44 2010 +0300
@@ -393,9 +393,9 @@
 {
 	VideoCollectionClient::mFailMediaDetails = true;
 	
+	QVERIFY(mTestObject->initialize(mStubModel) == 0);
+	mTestObject->open(3);
 	mStubModel->appendData("Test");
-
-	QVERIFY(mTestObject->initialize(mStubModel) == 0);
 	
 	QSignalSpy fetchSpy(mTestObject, SIGNAL(shortDetailsReady(TMPXItemId)));
 	QModelIndex index = mTestObject->index(0, 0);
@@ -1015,23 +1015,35 @@
     
    
     mCollectionModel->initialize(mStubModel);
+    mCollectionModel->open(2);
     VideoCollectionWrapper::instance().mProxyModel = mCollectionModel;
     
+    mStubModel->appendData(TMPXItemId(1,2)); 
     mStubModel->appendData(name);
     
+    int count = mCollectionModel->rowCount();
+    
     // invalid data from model, same name can be used
     VideoListDataModel::mReturnInvalid = true;
     resolved = mTestObject->resolveAlbumName(name);
     QVERIFY(resolved.length());
     QVERIFY(resolved == name);  
     VideoListDataModel::mReturnInvalid = false;
-    
+            
     // same name, name to be different
     resolved = mTestObject->resolveAlbumName(name);
     QVERIFY(resolved.length());
     QVERIFY(resolved != name);
     QVERIFY(resolved.contains("1"));
     
+    mStubModel->appendData(TMPXItemId(2,2)); 
+    mStubModel->appendData(resolved);
+    
+    resolved = mTestObject->resolveAlbumName(name);
+    QVERIFY(resolved.length());
+    QVERIFY(resolved != name);
+    QVERIFY(resolved.contains("2"));
+
     // different name, no changes
     name = "Another";
     resolved = mTestObject->resolveAlbumName(name);
@@ -1057,6 +1069,30 @@
 }
 
 // ---------------------------------------------------------------------------
+// testRemoveItemsFromAlbum
+// ---------------------------------------------------------------------------
+//
+void TestVideoSortFilterProxyModel::testRemoveItemsFromAlbum()
+{
+    VideoListDataModel::mRemoveFrAlbumReturn = 1;
+    TMPXItemId albumId(1,2);
+    QList<TMPXItemId> items;
+    items.append(TMPXItemId(1,0));
+    
+    // no model
+    QVERIFY(mTestObject->removeItemsFromAlbum(albumId, items) == -1);
+    mTestObject->initialize(mStubModel);
+    
+    // model returns < 0
+    VideoListDataModel::mRemoveFrAlbumReturn = -1;
+    QVERIFY(mTestObject->removeItemsFromAlbum(albumId, items) == -1);
+    
+    VideoListDataModel::mRemoveFrAlbumReturn = 11;
+    // "succeed"
+    QVERIFY(mTestObject->removeItemsFromAlbum(albumId, items) == 0);
+}
+
+// ---------------------------------------------------------------------------
 // testGetOpenItem
 // ---------------------------------------------------------------------------
 //
@@ -1145,16 +1181,19 @@
 //
 void TestVideoSortFilterProxyModel::testAlbumChangedSlot()
 {
+    connect(this, SIGNAL(testSignal()), mTestObject, SLOT(albumChangedSlot()));
     // cannot test anything here, just for the coverage
     // level incorrect
     mTestObject->initialize(mStubModel);
-    mStubModel->emitAlbumChanged();
+    emit testSignal();
     delete mTestObject;
     mTestObject = 0;
     mTestObject = new FilterProxyTester(VideoCollectionWrapper::ECollectionContent);
-    QVERIFY(mTestObject);
+    connect(this, SIGNAL(testSignal()), mTestObject, SLOT(albumChangedSlot()));
+    QVERIFY(mTestObject);    
     mTestObject->initialize(mStubModel);
-    mStubModel->emitAlbumChanged();        
+    emit testSignal();      
+    disconnect(this, SIGNAL(testSignal()), mTestObject, SLOT(albumChangedSlot()));
 }
 
 // ---------------------------------------------------------------------------