contentstorage/caclient/tsrc/t_caclient/src/t_caclient_organize.cpp
changeset 117 c63ee96dbe5f
equal deleted inserted replaced
115:3ab5c078b490 117:c63ee96dbe5f
       
     1 /*
       
     2 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:  Main test class for hspluginmodel library.
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 #include "t_caclient.h"
       
    20 #include "caservice.h"
       
    21 #include "caquery.h"
       
    22 
       
    23 // ---------------------------------------------------------------------------
       
    24 // ---------------------------------------------------------------------------
       
    25 //
       
    26 void TestCaClient::TestAppendEntryIntoGroup1()
       
    27 {
       
    28     {
       
    29         CaEntry itemEntry;
       
    30         itemEntry.setText("item");
       
    31         itemEntry.setEntryTypeName("typeok");
       
    32         CaEntry groupEntry(GroupEntryRole);
       
    33         groupEntry.setText("group");
       
    34         groupEntry.setEntryTypeName("typeok");
       
    35         QSharedPointer<CaService> service = CaService::instance();
       
    36 
       
    37         QSharedPointer<CaEntry> entry1 = service->createEntry(itemEntry);
       
    38         QSharedPointer<CaEntry> entry2 = service->createEntry(itemEntry);
       
    39         QSharedPointer<CaEntry> group = service->createEntry(groupEntry);
       
    40 
       
    41         CaQuery query;
       
    42         query.setParentId(group->id());
       
    43         query.setSort(DefaultSortAttribute, Qt::AscendingOrder);
       
    44 
       
    45         QVERIFY(!service->appendEntryToGroup(9999, entry1->id()));
       
    46         QVERIFY(service->lastError() != NoErrorCode);
       
    47 
       
    48         QVERIFY(!service->appendEntryToGroup(group->id(), 9999));
       
    49         QVERIFY(service->lastError() != NoErrorCode);
       
    50 
       
    51         QVERIFY(service->appendEntryToGroup(group->id(), entry1->id()));
       
    52         QCOMPARE(service->lastError() , NoErrorCode);
       
    53 
       
    54         QList<int> entries = service->getEntryIds(query);
       
    55         QCOMPARE(entries.count(),1);
       
    56         QVERIFY(service->appendEntryToGroup(group->id(), entry2->id()));
       
    57         entries = service->getEntryIds(query);
       
    58         QCOMPARE(entries.count(),2);
       
    59         QCOMPARE(entries.at(0),entry1->id());
       
    60         QCOMPARE(entries.at(1),entry2->id());
       
    61 
       
    62         //Cleanup
       
    63         service->removeEntry(*entry1);
       
    64         service->removeEntry(*entry2);
       
    65         service->removeEntry(*group);
       
    66     }
       
    67 }
       
    68 
       
    69 // ---------------------------------------------------------------------------
       
    70 // ---------------------------------------------------------------------------
       
    71 //
       
    72 void TestCaClient::TestAppendEntryIntoGroup2()
       
    73 {
       
    74     {
       
    75         CaEntry itemEntry;
       
    76         itemEntry.setText("item");
       
    77         itemEntry.setEntryTypeName("typeok");
       
    78         CaEntry groupEntry(GroupEntryRole);
       
    79         groupEntry.setText("group");
       
    80         groupEntry.setEntryTypeName("typeok");
       
    81         QSharedPointer<CaService> service = CaService::instance();
       
    82 
       
    83         QSharedPointer<CaEntry> entry1 = service->createEntry(itemEntry);
       
    84         QSharedPointer<CaEntry> entry2 = service->createEntry(itemEntry);
       
    85         QSharedPointer<CaEntry> group = service->createEntry(groupEntry);
       
    86 
       
    87         CaQuery query;
       
    88         query.setParentId(group->id());
       
    89         query.setSort(DefaultSortAttribute, Qt::AscendingOrder);
       
    90 
       
    91         QVERIFY(!service->appendEntryToGroup(groupEntry, *entry1));
       
    92         QVERIFY(!service->appendEntryToGroup(*group , itemEntry));
       
    93         QVERIFY(service->appendEntryToGroup(*group , *entry1));
       
    94         QList<int> entries = service->getEntryIds(query);
       
    95         QCOMPARE(entries.count(),1);
       
    96         QVERIFY(service->appendEntryToGroup(*group, *entry2));
       
    97         entries = service->getEntryIds(query);
       
    98         QCOMPARE(entries.count(),2);
       
    99         QCOMPARE(entries.at(0),entry1->id());
       
   100         QCOMPARE(entries.at(1),entry2->id());
       
   101 
       
   102         //Cleanup
       
   103         service->removeEntry(*entry1);
       
   104         service->removeEntry(*entry2);
       
   105         service->removeEntry(*group);
       
   106     }
       
   107 }
       
   108 
       
   109 // ---------------------------------------------------------------------------
       
   110 // ---------------------------------------------------------------------------
       
   111 //
       
   112 void TestCaClient::TestAppendEntriesIntoGroup1()
       
   113 {
       
   114     {
       
   115         CaEntry itemEntry;
       
   116         itemEntry.setText("item");
       
   117         itemEntry.setEntryTypeName("typeok");
       
   118         CaEntry groupEntry(GroupEntryRole);
       
   119         groupEntry.setText("group");
       
   120         groupEntry.setEntryTypeName("typeok");
       
   121         QSharedPointer<CaService> service = CaService::instance();
       
   122 
       
   123         QSharedPointer<CaEntry> entry1 = service->createEntry(itemEntry);
       
   124         QSharedPointer<CaEntry> entry2 = service->createEntry(itemEntry);
       
   125         QSharedPointer<CaEntry> entry3 = service->createEntry(itemEntry);
       
   126         QSharedPointer<CaEntry> entry4 = service->createEntry(itemEntry);
       
   127         QSharedPointer<CaEntry> group = service->createEntry(groupEntry);
       
   128 
       
   129         QList<int> entries1;
       
   130         entries1.append(entry1->id());
       
   131         entries1.append(entry2->id());
       
   132         QList<int> entries2;
       
   133         entries2.append(entry3->id());
       
   134         entries2.append(entry4->id());
       
   135         QList<int> wrongEntries1;
       
   136         wrongEntries1.append(entry1->id());
       
   137         wrongEntries1.append(9999);
       
   138 
       
   139 
       
   140         CaQuery query;
       
   141         query.setParentId(group->id());
       
   142         query.setSort(DefaultSortAttribute, Qt::AscendingOrder);
       
   143 
       
   144         QVERIFY(!service->appendEntriesToGroup(9999, entries1));
       
   145         QVERIFY(!service->appendEntriesToGroup(group->id(), wrongEntries1));
       
   146         QList<int> entries = service->getEntryIds(query);
       
   147         QCOMPARE(entries.count(),0);
       
   148 
       
   149         QVERIFY(service->appendEntriesToGroup(group->id(), entries1));
       
   150         entries = service->getEntryIds(query);
       
   151         QCOMPARE(entries.count(),2);
       
   152         QVERIFY(service->appendEntriesToGroup(group->id(), entries2));
       
   153         entries = service->getEntryIds(query);
       
   154         QCOMPARE(entries.count(),4);
       
   155 
       
   156         QCOMPARE(entries.at(0),entry1->id());
       
   157         QCOMPARE(entries.at(1),entry2->id());
       
   158         QCOMPARE(entries.at(2),entry3->id());
       
   159         QCOMPARE(entries.at(3),entry4->id());
       
   160 
       
   161         //Cleanup
       
   162         service->removeEntry(*entry1);
       
   163         service->removeEntry(*entry2);
       
   164         service->removeEntry(*entry3);
       
   165         service->removeEntry(*entry4);
       
   166         service->removeEntry(*group);
       
   167     }
       
   168 }
       
   169 
       
   170 // ---------------------------------------------------------------------------
       
   171 // ---------------------------------------------------------------------------
       
   172 //
       
   173 void TestCaClient::TestAppendEntriesIntoGroup2()
       
   174 {
       
   175     {
       
   176         QSharedPointer<CaEntry> itemEntry (new CaEntry());
       
   177         itemEntry->setText("item");
       
   178         itemEntry->setEntryTypeName("typeok");
       
   179         CaEntry groupEntry(GroupEntryRole);
       
   180         groupEntry.setText("group");
       
   181         groupEntry.setEntryTypeName("typeok");
       
   182         QSharedPointer<CaService> service = CaService::instance();
       
   183 
       
   184         QSharedPointer<CaEntry> entry1 = service->createEntry(*itemEntry);
       
   185         QSharedPointer<CaEntry> entry2 = service->createEntry(*itemEntry);
       
   186         QSharedPointer<CaEntry> entry3 = service->createEntry(*itemEntry);
       
   187         QSharedPointer<CaEntry> entry4 = service->createEntry(*itemEntry);
       
   188         QSharedPointer<CaEntry> group = service->createEntry(groupEntry);
       
   189 
       
   190         QList< QSharedPointer<CaEntry> > entries1;
       
   191         entries1.append(entry1);
       
   192         entries1.append(entry2);
       
   193         QList< QSharedPointer<CaEntry> > entries2;
       
   194         entries2.append(entry3);
       
   195         entries2.append(entry4);
       
   196         QList<QSharedPointer<CaEntry> > wrongEntries1;
       
   197         wrongEntries1.append(entry1);
       
   198         wrongEntries1.append(itemEntry);  //this item has unspecified id
       
   199 
       
   200         CaQuery query;
       
   201         query.setParentId(group->id());
       
   202         query.setSort(DefaultSortAttribute, Qt::AscendingOrder);
       
   203 
       
   204         QVERIFY(!service->appendEntriesToGroup(groupEntry, entries1));
       
   205         QVERIFY(!service->appendEntriesToGroup(*group, wrongEntries1));
       
   206         QList<int> entries = service->getEntryIds(query);
       
   207         QCOMPARE(entries.count(),0);
       
   208         QVERIFY(service->appendEntriesToGroup(*group, entries1));
       
   209         entries = service->getEntryIds(query);
       
   210         QCOMPARE(entries.count(),2);
       
   211         QVERIFY(service->appendEntriesToGroup(*group, entries2));
       
   212         entries = service->getEntryIds(query);
       
   213         QCOMPARE(entries.count(),4);
       
   214 
       
   215         QCOMPARE(entries.at(0),entry1->id());
       
   216         QCOMPARE(entries.at(1),entry2->id());
       
   217         QCOMPARE(entries.at(2),entry3->id());
       
   218         QCOMPARE(entries.at(3),entry4->id());
       
   219 
       
   220         //Cleanup
       
   221         service->removeEntry(*entry1);
       
   222         service->removeEntry(*entry2);
       
   223         service->removeEntry(*entry3);
       
   224         service->removeEntry(*entry4);
       
   225         service->removeEntry(*group);
       
   226     }
       
   227 }
       
   228 
       
   229 
       
   230 // ---------------------------------------------------------------------------
       
   231 // ---------------------------------------------------------------------------
       
   232 //
       
   233 void TestCaClient::TestPrependEntryIntoGroup1()
       
   234 {
       
   235     {
       
   236         CaEntry itemEntry;
       
   237         itemEntry.setText("item");
       
   238         itemEntry.setEntryTypeName("typeok");
       
   239         CaEntry groupEntry(GroupEntryRole);
       
   240         groupEntry.setText("group");
       
   241         groupEntry.setEntryTypeName("typeok");
       
   242         QSharedPointer<CaService> service = CaService::instance();
       
   243 
       
   244         QSharedPointer<CaEntry> entry1 = service->createEntry(itemEntry);
       
   245         QSharedPointer<CaEntry> entry2 = service->createEntry(itemEntry);
       
   246         QSharedPointer<CaEntry> group = service->createEntry(groupEntry);
       
   247 
       
   248         CaQuery query;
       
   249         query.setParentId(group->id());
       
   250         query.setSort(DefaultSortAttribute, Qt::AscendingOrder);
       
   251 
       
   252         QVERIFY(!service->prependEntryToGroup(9999, entry1->id()));
       
   253         QVERIFY(service->lastError() != NoErrorCode);
       
   254         QVERIFY(!service->prependEntryToGroup(group->id(), 9999));
       
   255         QVERIFY(service->lastError() != NoErrorCode);
       
   256         QVERIFY(service->prependEntryToGroup(group->id(), entry1->id()));
       
   257         QCOMPARE(service->lastError() , NoErrorCode);
       
   258 
       
   259         QList<int> entries = service->getEntryIds(query);
       
   260         QCOMPARE(entries.count(),1);
       
   261         QVERIFY(service->prependEntryToGroup(group->id(), entry2->id()));
       
   262         entries = service->getEntryIds(query);
       
   263 
       
   264         QCOMPARE(entries.count(),2);
       
   265         QCOMPARE(entries.at(0),entry2->id());
       
   266         QCOMPARE(entries.at(1),entry1->id());
       
   267 
       
   268         //Cleanup
       
   269         service->removeEntry(*entry1);
       
   270         service->removeEntry(*entry2);
       
   271         service->removeEntry(*group);
       
   272     }
       
   273 }
       
   274 
       
   275 // ---------------------------------------------------------------------------
       
   276 // ---------------------------------------------------------------------------
       
   277 //
       
   278 void TestCaClient::TestPrependEntryIntoGroup2()
       
   279 {
       
   280     {
       
   281         CaEntry itemEntry;
       
   282         itemEntry.setText("item");
       
   283         itemEntry.setEntryTypeName("typeok");
       
   284         CaEntry groupEntry(GroupEntryRole);
       
   285         groupEntry.setText("group");
       
   286         groupEntry.setEntryTypeName("typeok");
       
   287         QSharedPointer<CaService> service = CaService::instance();
       
   288 
       
   289         QSharedPointer<CaEntry> entry1 = service->createEntry(itemEntry);
       
   290         QSharedPointer<CaEntry> entry2 = service->createEntry(itemEntry);
       
   291         QSharedPointer<CaEntry> group = service->createEntry(groupEntry);
       
   292 
       
   293         CaQuery query;
       
   294         query.setParentId(group->id());
       
   295         query.setSort(DefaultSortAttribute, Qt::AscendingOrder);
       
   296 
       
   297         QVERIFY(!service->prependEntryToGroup(groupEntry, *entry1));
       
   298         QVERIFY(!service->prependEntryToGroup(*group , itemEntry));
       
   299         QVERIFY(service->prependEntryToGroup(*group , *entry1));
       
   300         QList<int> entries = service->getEntryIds(query);
       
   301         QCOMPARE(entries.count(),1);
       
   302         QVERIFY(service->prependEntryToGroup(*group, *entry2));
       
   303         entries = service->getEntryIds(query);
       
   304         QCOMPARE(entries.count(),2);
       
   305         QCOMPARE(entries.at(0),entry2->id());
       
   306         QCOMPARE(entries.at(1),entry1->id());
       
   307 
       
   308         //Cleanup
       
   309         service->removeEntry(*entry1);
       
   310         service->removeEntry(*entry2);
       
   311         service->removeEntry(*group);
       
   312     }
       
   313 }
       
   314 
       
   315 // ---------------------------------------------------------------------------
       
   316 // ---------------------------------------------------------------------------
       
   317 //
       
   318 void TestCaClient::TestPrependEntriesIntoGroup1()
       
   319 {
       
   320     {
       
   321         CaEntry itemEntry;
       
   322         itemEntry.setText("item");
       
   323         itemEntry.setEntryTypeName("typeok");
       
   324         CaEntry groupEntry(GroupEntryRole);
       
   325         groupEntry.setText("group");
       
   326         groupEntry.setEntryTypeName("typeok");
       
   327         QSharedPointer<CaService> service = CaService::instance();
       
   328 
       
   329         QSharedPointer<CaEntry> entry1 = service->createEntry(itemEntry);
       
   330         QSharedPointer<CaEntry> entry2 = service->createEntry(itemEntry);
       
   331         QSharedPointer<CaEntry> entry3 = service->createEntry(itemEntry);
       
   332         QSharedPointer<CaEntry> entry4 = service->createEntry(itemEntry);
       
   333         QSharedPointer<CaEntry> group = service->createEntry(groupEntry);
       
   334 
       
   335         QList<int> entries1;
       
   336         entries1.append(entry1->id());
       
   337         entries1.append(entry2->id());
       
   338         QList<int> entries2;
       
   339         entries2.append(entry3->id());
       
   340         entries2.append(entry4->id());
       
   341         QList<int> wrongEntries1;
       
   342         wrongEntries1.append(entry1->id());
       
   343         wrongEntries1.append(9999);
       
   344 
       
   345 
       
   346         CaQuery query;
       
   347         query.setParentId(group->id());
       
   348         query.setSort(DefaultSortAttribute, Qt::AscendingOrder);
       
   349 
       
   350         QVERIFY(!service->prependEntriesToGroup(9999, entries1));
       
   351         QVERIFY(!service->prependEntriesToGroup(group->id(), wrongEntries1));
       
   352         QList<int> entries = service->getEntryIds(query);
       
   353         QCOMPARE(entries.count(),0);
       
   354 
       
   355         QVERIFY(service->prependEntriesToGroup(group->id(), entries1));
       
   356         entries = service->getEntryIds(query);
       
   357         QCOMPARE(entries.count(),2);
       
   358         QVERIFY(service->prependEntriesToGroup(group->id(), entries2));
       
   359         entries = service->getEntryIds(query);
       
   360         QCOMPARE(entries.count(),4);
       
   361 
       
   362         QCOMPARE(entries.at(0),entry3->id());
       
   363         QCOMPARE(entries.at(1),entry4->id());
       
   364         QCOMPARE(entries.at(2),entry1->id());
       
   365         QCOMPARE(entries.at(3),entry2->id());
       
   366 
       
   367         //Cleanup
       
   368         service->removeEntry(*entry1);
       
   369         service->removeEntry(*entry2);
       
   370         service->removeEntry(*entry3);
       
   371         service->removeEntry(*entry4);
       
   372         service->removeEntry(*group);
       
   373     }
       
   374 }
       
   375 
       
   376 // ---------------------------------------------------------------------------
       
   377 // ---------------------------------------------------------------------------
       
   378 //
       
   379 void TestCaClient::TestPrependEntriesIntoGroup2()
       
   380 {
       
   381     {
       
   382         QSharedPointer<CaEntry> itemEntry (new CaEntry());
       
   383         itemEntry->setText("item");
       
   384         itemEntry->setEntryTypeName("typeok");
       
   385         CaEntry groupEntry(GroupEntryRole);
       
   386         groupEntry.setText("group");
       
   387         groupEntry.setEntryTypeName("typeok");
       
   388         QSharedPointer<CaService> service = CaService::instance();
       
   389 
       
   390         QSharedPointer<CaEntry> entry1 = service->createEntry(*itemEntry);
       
   391         QSharedPointer<CaEntry> entry2 = service->createEntry(*itemEntry);
       
   392         QSharedPointer<CaEntry> entry3 = service->createEntry(*itemEntry);
       
   393         QSharedPointer<CaEntry> entry4 = service->createEntry(*itemEntry);
       
   394         QSharedPointer<CaEntry> group = service->createEntry(groupEntry);
       
   395 
       
   396         QList< QSharedPointer<CaEntry> > entries1;
       
   397         entries1.append(entry1);
       
   398         entries1.append(entry2);
       
   399         QList< QSharedPointer<CaEntry> > entries2;
       
   400         entries2.append(entry3);
       
   401         entries2.append(entry4);
       
   402         QList< QSharedPointer<CaEntry> > wrongEntries1;
       
   403         wrongEntries1.append(entry1);
       
   404         wrongEntries1.append(itemEntry);  //this item has unspecified id
       
   405 
       
   406         CaQuery query;
       
   407         query.setParentId(group->id());
       
   408         query.setSort(DefaultSortAttribute, Qt::AscendingOrder);
       
   409 
       
   410         QVERIFY(!service->prependEntriesToGroup(groupEntry, entries1));
       
   411         QVERIFY(!service->prependEntriesToGroup(*group, wrongEntries1));
       
   412         QList<int> entries = service->getEntryIds(query);
       
   413         QCOMPARE(entries.count(),0);
       
   414         QVERIFY(service->prependEntriesToGroup(*group, entries1));
       
   415         entries = service->getEntryIds(query);
       
   416         QCOMPARE(entries.count(),2);
       
   417         QVERIFY(service->prependEntriesToGroup(*group, entries2));
       
   418         entries = service->getEntryIds(query);
       
   419         QCOMPARE(entries.count(),4);
       
   420 
       
   421         QCOMPARE(entries.at(0),entry3->id());
       
   422         QCOMPARE(entries.at(1),entry4->id());
       
   423         QCOMPARE(entries.at(2),entry1->id());
       
   424         QCOMPARE(entries.at(3),entry2->id());
       
   425 
       
   426         //Cleanup
       
   427         service->removeEntry(*entry1);
       
   428         service->removeEntry(*entry2);
       
   429         service->removeEntry(*entry3);
       
   430         service->removeEntry(*entry4);
       
   431         service->removeEntry(*group);
       
   432     }
       
   433 }
       
   434 
       
   435 // ---------------------------------------------------------------------------
       
   436 // ---------------------------------------------------------------------------
       
   437 //
       
   438 void TestCaClient::TestInsertEntryIntoGroup1()
       
   439 {
       
   440     {
       
   441         CaEntry itemEntry;
       
   442         itemEntry.setText("item");
       
   443         itemEntry.setEntryTypeName("typeok");
       
   444         CaEntry groupEntry(GroupEntryRole);
       
   445         groupEntry.setText("group");
       
   446         groupEntry.setEntryTypeName("typeok");
       
   447         QSharedPointer<CaService> service = CaService::instance();
       
   448 
       
   449         QSharedPointer<CaEntry> entry1 = service->createEntry(itemEntry);
       
   450         QSharedPointer<CaEntry> entry2 = service->createEntry(itemEntry);
       
   451         QSharedPointer<CaEntry> group = service->createEntry(groupEntry);
       
   452 
       
   453         CaQuery query;
       
   454         query.setParentId(group->id());
       
   455         query.setSort(DefaultSortAttribute, Qt::AscendingOrder);
       
   456 
       
   457         QVERIFY(service->prependEntryToGroup(group->id(), entry1->id()));
       
   458 
       
   459         QVERIFY(!service->insertEntryIntoGroup(9999, entry2->id(), entry1->id()));
       
   460         QVERIFY(service->lastError() != NoErrorCode);
       
   461 
       
   462         QVERIFY(!service->insertEntryIntoGroup(group->id(), 9999, entry1->id()));
       
   463         QVERIFY(service->lastError() != NoErrorCode);
       
   464 
       
   465         QVERIFY(!service->insertEntryIntoGroup(group->id(), entry2->id(), 9999));
       
   466         QVERIFY(service->lastError() != NoErrorCode);
       
   467 
       
   468         QVERIFY(service->insertEntryIntoGroup(group->id(), entry2->id(), entry1->id()));
       
   469         QCOMPARE(service->lastError() , NoErrorCode);
       
   470 
       
   471         QList<int> entries = service->getEntryIds(query);
       
   472         QCOMPARE(entries.count(),2);
       
   473         QCOMPARE(entries.at(0),entry2->id());
       
   474         QCOMPARE(entries.at(1),entry1->id());
       
   475 
       
   476         //Cleanup
       
   477         service->removeEntry(*entry1);
       
   478         service->removeEntry(*entry2);
       
   479         service->removeEntry(*group);
       
   480     }
       
   481 }
       
   482 
       
   483 // ---------------------------------------------------------------------------
       
   484 // ---------------------------------------------------------------------------
       
   485 //
       
   486 void TestCaClient::TestInsertEntryIntoGroup2()
       
   487 {
       
   488     {
       
   489         CaEntry itemEntry;
       
   490         itemEntry.setText("item");
       
   491         itemEntry.setEntryTypeName("typeok");
       
   492         CaEntry groupEntry(GroupEntryRole);
       
   493         groupEntry.setText("group");
       
   494         groupEntry.setEntryTypeName("typeok");
       
   495         QSharedPointer<CaService> service = CaService::instance();
       
   496 
       
   497         QSharedPointer<CaEntry> entry1 = service->createEntry(itemEntry);
       
   498         QSharedPointer<CaEntry> entry2 = service->createEntry(itemEntry);
       
   499         QSharedPointer<CaEntry> group = service->createEntry(groupEntry);
       
   500 
       
   501         CaQuery query;
       
   502         query.setParentId(group->id());
       
   503         query.setSort(DefaultSortAttribute, Qt::AscendingOrder);
       
   504 
       
   505         QVERIFY(service->prependEntryToGroup(*group, *entry1));
       
   506 
       
   507         QVERIFY(!service->insertEntryIntoGroup(groupEntry, *entry2, entry1->id()));
       
   508         QVERIFY(!service->insertEntryIntoGroup(*group, itemEntry, entry1->id()));
       
   509         QVERIFY(!service->insertEntryIntoGroup(*group, *entry2, 9999));
       
   510 
       
   511         QVERIFY(service->insertEntryIntoGroup(*group, *entry2, entry1->id()));
       
   512 
       
   513         QList<int> entries = service->getEntryIds(query);
       
   514         QCOMPARE(entries.count(),2);
       
   515         QCOMPARE(entries.at(0),entry2->id());
       
   516         QCOMPARE(entries.at(1),entry1->id());
       
   517 
       
   518         //Cleanup
       
   519         service->removeEntry(*entry1);
       
   520         service->removeEntry(*entry2);
       
   521         service->removeEntry(*group);
       
   522     }
       
   523 }
       
   524 
       
   525 // ---------------------------------------------------------------------------
       
   526 // ---------------------------------------------------------------------------
       
   527 //
       
   528 void TestCaClient::TestInsertEntriesIntoGroup1()
       
   529 {
       
   530     {
       
   531         CaEntry itemEntry;
       
   532         itemEntry.setText("item");
       
   533         itemEntry.setEntryTypeName("typeok");
       
   534         CaEntry groupEntry(GroupEntryRole);
       
   535         groupEntry.setText("group");
       
   536         groupEntry.setEntryTypeName("typeok");
       
   537         QSharedPointer<CaService> service = CaService::instance();
       
   538 
       
   539         QSharedPointer<CaEntry> entry1 = service->createEntry(itemEntry);
       
   540         QSharedPointer<CaEntry> entry3 = service->createEntry(itemEntry);
       
   541         QSharedPointer<CaEntry> entry4 = service->createEntry(itemEntry);
       
   542         QSharedPointer<CaEntry> group = service->createEntry(groupEntry);
       
   543 
       
   544         QList<int> entries2;
       
   545         entries2.append(entry3->id());
       
   546         entries2.append(entry4->id());
       
   547         QList<int> wrongEntries1;
       
   548         wrongEntries1.append(entry1->id());
       
   549         wrongEntries1.append(9999);
       
   550 
       
   551 
       
   552         CaQuery query;
       
   553         query.setParentId(group->id());
       
   554         query.setSort(DefaultSortAttribute, Qt::AscendingOrder);
       
   555 
       
   556         QVERIFY(service->prependEntryToGroup(group->id(), entry1->id()));
       
   557 
       
   558         QVERIFY(!service->insertEntriesIntoGroup(9999, entries2, entry1->id()));
       
   559         QVERIFY(!service->insertEntriesIntoGroup(group->id(), wrongEntries1, entry1->id()));
       
   560         QVERIFY(!service->insertEntriesIntoGroup(group->id(), entries2, 9999));
       
   561 
       
   562         QVERIFY(service->insertEntriesIntoGroup(group->id(), entries2, entry1->id()));
       
   563         QList<int> entries = service->getEntryIds(query);
       
   564         QCOMPARE(entries.count(),3);
       
   565 
       
   566         QCOMPARE(entries.at(0),entry3->id());
       
   567         QCOMPARE(entries.at(1),entry4->id());
       
   568         QCOMPARE(entries.at(2),entry1->id());
       
   569 
       
   570         //Cleanup
       
   571         service->removeEntry(*entry1);
       
   572         service->removeEntry(*entry3);
       
   573         service->removeEntry(*entry4);
       
   574         service->removeEntry(*group);
       
   575     }
       
   576 }
       
   577 
       
   578 // ---------------------------------------------------------------------------
       
   579 // ---------------------------------------------------------------------------
       
   580 //
       
   581 void TestCaClient::TestInsertEntriesIntoGroup2()
       
   582 {
       
   583     {
       
   584         QSharedPointer<CaEntry> itemEntry (new CaEntry());
       
   585         itemEntry->setText("item");
       
   586         itemEntry->setEntryTypeName("typeok");
       
   587         CaEntry groupEntry(GroupEntryRole);
       
   588         groupEntry.setText("group");
       
   589         groupEntry.setEntryTypeName("typeok");
       
   590         QSharedPointer<CaService> service = CaService::instance();
       
   591 
       
   592         QSharedPointer<CaEntry> entry1 = service->createEntry(*itemEntry);
       
   593         QSharedPointer<CaEntry> entry3 = service->createEntry(*itemEntry);
       
   594         QSharedPointer<CaEntry> entry4 = service->createEntry(*itemEntry);
       
   595         QSharedPointer<CaEntry> group = service->createEntry(groupEntry);
       
   596 
       
   597         QList< QSharedPointer<CaEntry> > entries2;
       
   598         entries2.append(entry3);
       
   599         entries2.append(entry4);
       
   600         QList< QSharedPointer<CaEntry> > wrongEntries1;
       
   601         wrongEntries1.append(entry1);
       
   602         wrongEntries1.append(itemEntry);  //this item has unspecified id
       
   603 
       
   604         CaQuery query;
       
   605         query.setParentId(group->id());
       
   606         query.setSort(DefaultSortAttribute, Qt::AscendingOrder);
       
   607 
       
   608         QVERIFY(service->prependEntryToGroup(group->id(), entry1->id()));
       
   609 
       
   610         QVERIFY(!service->insertEntriesIntoGroup(groupEntry, entries2, entry1->id()));
       
   611         QVERIFY(!service->insertEntriesIntoGroup(*group, wrongEntries1, entry1->id()));
       
   612         QVERIFY(!service->insertEntriesIntoGroup(*group, entries2, 9999));
       
   613 
       
   614         QVERIFY(service->insertEntriesIntoGroup(*group, entries2, entry1->id()));
       
   615 
       
   616         QList<int> entries = service->getEntryIds(query);
       
   617         QCOMPARE(entries.count(),3);
       
   618 
       
   619         QCOMPARE(entries.at(0),entry3->id());
       
   620         QCOMPARE(entries.at(1),entry4->id());
       
   621         QCOMPARE(entries.at(2),entry1->id());
       
   622 
       
   623         //Cleanup
       
   624         service->removeEntry(*entry1);
       
   625         service->removeEntry(*entry3);
       
   626         service->removeEntry(*entry4);
       
   627         service->removeEntry(*group);
       
   628     }
       
   629 }
       
   630 
       
   631 // ---------------------------------------------------------------------------
       
   632 // ---------------------------------------------------------------------------
       
   633 //
       
   634 void TestCaClient::TestRemoveEntryFromGroup1()
       
   635 {
       
   636     {
       
   637         CaEntry itemEntry;
       
   638         itemEntry.setText("item");
       
   639         itemEntry.setEntryTypeName("typeok");
       
   640         CaEntry groupEntry(GroupEntryRole);
       
   641         groupEntry.setText("group");
       
   642         groupEntry.setEntryTypeName("typeok");
       
   643         QSharedPointer<CaService> service = CaService::instance();
       
   644 
       
   645         QSharedPointer<CaEntry> entry1 = service->createEntry(itemEntry);
       
   646         QSharedPointer<CaEntry> group = service->createEntry(groupEntry);
       
   647 
       
   648         CaQuery query;
       
   649         query.setParentId(group->id());
       
   650         query.setSort(DefaultSortAttribute, Qt::AscendingOrder);
       
   651 
       
   652         QVERIFY(!service->removeEntryFromGroup(9999, entry1->id()));
       
   653         QVERIFY(service->lastError() != NoErrorCode);
       
   654 
       
   655         QVERIFY(!service->removeEntryFromGroup(group->id(), 9999));
       
   656         QVERIFY(service->lastError() != NoErrorCode);
       
   657 
       
   658         QVERIFY(service->prependEntryToGroup(group->id(), entry1->id()));
       
   659         QList<int> entries = service->getEntryIds(query);
       
   660         QCOMPARE(entries.count(),1);
       
   661         QVERIFY(service->removeEntryFromGroup(group->id(), entry1->id()));
       
   662         QCOMPARE(service->lastError() , NoErrorCode);
       
   663 
       
   664 
       
   665         entries = service->getEntryIds(query);
       
   666         QCOMPARE(entries.count(),0);
       
   667 
       
   668         //Cleanup
       
   669         service->removeEntry(*entry1);
       
   670         service->removeEntry(*group);
       
   671     }
       
   672 }
       
   673 
       
   674 // ---------------------------------------------------------------------------
       
   675 // ---------------------------------------------------------------------------
       
   676 //
       
   677 void TestCaClient::TestRemoveEntryFromGroup2()
       
   678 {
       
   679     {
       
   680         CaEntry itemEntry;
       
   681         itemEntry.setText("item");
       
   682         itemEntry.setEntryTypeName("typeok");
       
   683         CaEntry groupEntry(GroupEntryRole);
       
   684         groupEntry.setText("group");
       
   685         groupEntry.setEntryTypeName("typeok");
       
   686         QSharedPointer<CaService> service = CaService::instance();
       
   687 
       
   688         QSharedPointer<CaEntry> entry1 = service->createEntry(itemEntry);
       
   689         QSharedPointer<CaEntry> group = service->createEntry(groupEntry);
       
   690 
       
   691         CaQuery query;
       
   692         query.setParentId(group->id());
       
   693         query.setSort(DefaultSortAttribute, Qt::AscendingOrder);
       
   694 
       
   695         QVERIFY(!service->removeEntryFromGroup(groupEntry, *entry1));
       
   696         QVERIFY(!service->removeEntryFromGroup(*group, itemEntry));
       
   697 
       
   698         QVERIFY(service->prependEntryToGroup(group->id(), entry1->id()));
       
   699         QList<int> entries = service->getEntryIds(query);
       
   700         QCOMPARE(entries.count(),1);
       
   701         QVERIFY(service->removeEntryFromGroup(*group, *entry1));
       
   702 
       
   703         entries = service->getEntryIds(query);
       
   704         QCOMPARE(entries.count(),0);
       
   705 
       
   706         //Cleanup
       
   707         service->removeEntry(*entry1);
       
   708         service->removeEntry(*group);
       
   709     }
       
   710 }
       
   711 
       
   712 // ---------------------------------------------------------------------------
       
   713 // ---------------------------------------------------------------------------
       
   714 //
       
   715 void TestCaClient::TestRemoveEntriesFromGroup1()
       
   716 {
       
   717     {
       
   718         CaEntry itemEntry;
       
   719         itemEntry.setText("item");
       
   720         itemEntry.setEntryTypeName("typeok");
       
   721         CaEntry groupEntry(GroupEntryRole);
       
   722         groupEntry.setText("group");
       
   723         groupEntry.setEntryTypeName("typeok");
       
   724         QSharedPointer<CaService> service = CaService::instance();
       
   725 
       
   726         QSharedPointer<CaEntry> entry1 = service->createEntry(itemEntry);
       
   727         QSharedPointer<CaEntry> entry2 = service->createEntry(itemEntry);
       
   728         QSharedPointer<CaEntry> group = service->createEntry(groupEntry);
       
   729 
       
   730         QList<int> entries1;
       
   731         entries1.append(entry1->id());
       
   732         entries1.append(entry2->id());
       
   733         QList<int> wrongEntries1;
       
   734         wrongEntries1.append(entry1->id());
       
   735         wrongEntries1.append(9999);
       
   736 
       
   737         CaQuery query;
       
   738         query.setParentId(group->id());
       
   739         query.setSort(DefaultSortAttribute, Qt::AscendingOrder);
       
   740 
       
   741         QVERIFY(service->prependEntriesToGroup(group->id(), entries1));
       
   742         QList<int> entries = service->getEntryIds(query);
       
   743         QCOMPARE(entries.count(),2);
       
   744         QVERIFY(!service->removeEntriesFromGroup(9999, entries1));
       
   745         QVERIFY(!service->removeEntriesFromGroup(group->id(), wrongEntries1));
       
   746         entries = service->getEntryIds(query);
       
   747         QCOMPARE(entries.count(),2);
       
   748 
       
   749         QVERIFY(service->removeEntriesFromGroup(group->id(), entries1));
       
   750         entries = service->getEntryIds(query);
       
   751         QCOMPARE(entries.count(),0);
       
   752 
       
   753         //Cleanup
       
   754         service->removeEntry(*entry1);
       
   755         service->removeEntry(*entry2);
       
   756         service->removeEntry(*group);
       
   757     }
       
   758 }
       
   759 
       
   760 // ---------------------------------------------------------------------------
       
   761 // ---------------------------------------------------------------------------
       
   762 //
       
   763 void TestCaClient::TestRemoveEntriesFromGroup2()
       
   764 {
       
   765     {
       
   766         QSharedPointer<CaEntry> itemEntry (new CaEntry);
       
   767         itemEntry->setText("item");
       
   768         itemEntry->setEntryTypeName("typeok");
       
   769         CaEntry groupEntry(GroupEntryRole);
       
   770         groupEntry.setText("group");
       
   771         groupEntry.setEntryTypeName("typeok");
       
   772         QSharedPointer<CaService> service = CaService::instance();
       
   773 
       
   774         QSharedPointer<CaEntry> entry1 = service->createEntry(*itemEntry);
       
   775         QSharedPointer<CaEntry> entry2 = service->createEntry(*itemEntry);
       
   776         QSharedPointer<CaEntry> group = service->createEntry(groupEntry);
       
   777 
       
   778         QList<QSharedPointer<CaEntry> > entries1;
       
   779         entries1.append(entry1);
       
   780         entries1.append(entry2);
       
   781         QList<QSharedPointer<CaEntry> > wrongEntries1;
       
   782         wrongEntries1.append(entry1);
       
   783         wrongEntries1.append(itemEntry);  //this item has unspecified id
       
   784 
       
   785         CaQuery query;
       
   786         query.setParentId(group->id());
       
   787         query.setSort(DefaultSortAttribute, Qt::AscendingOrder);
       
   788 
       
   789         QVERIFY(service->prependEntriesToGroup(*group, entries1));
       
   790         QList<int> entries = service->getEntryIds(query);
       
   791         QCOMPARE(entries.count(),2);
       
   792 
       
   793         QVERIFY(!service->removeEntriesFromGroup(groupEntry, entries1));
       
   794         QVERIFY(!service->removeEntriesFromGroup(*group, wrongEntries1));
       
   795         entries = service->getEntryIds(query);
       
   796         QCOMPARE(entries.count(),2);
       
   797 
       
   798         QVERIFY(service->removeEntriesFromGroup(*group, entries1));
       
   799         entries = service->getEntryIds(query);
       
   800         QCOMPARE(entries.count(),0);
       
   801 
       
   802         //Cleanup
       
   803         service->removeEntry(*entry1);
       
   804         service->removeEntry(*entry2);
       
   805         service->removeEntry(*group);
       
   806 
       
   807     }
       
   808 }
       
   809 
       
   810 // ---------------------------------------------------------------------------
       
   811 // ---------------------------------------------------------------------------
       
   812 //
       
   813 void TestCaClient::TestCustomSortArrange()
       
   814 {
       
   815     QSharedPointer<CaService> service = CaService::instance();
       
   816     CaEntry itemEntry_1;
       
   817     itemEntry_1.setText("item_1");
       
   818     itemEntry_1.setEntryTypeName("collection");
       
   819     CaEntry groupEntry_1(GroupEntryRole);
       
   820     groupEntry_1.setText("group_1");
       
   821     groupEntry_1.setEntryTypeName("collection");
       
   822 
       
   823     QSharedPointer<CaEntry> entry_1 = service->createEntry(itemEntry_1);
       
   824     QSharedPointer<CaEntry> entry_2 = service->createEntry(itemEntry_1);
       
   825     QSharedPointer<CaEntry> entry_3 = service->createEntry(itemEntry_1);
       
   826     QSharedPointer<CaEntry> entry_4 = service->createEntry(itemEntry_1);
       
   827     QSharedPointer<CaEntry> group_1 = service->createEntry(groupEntry_1);
       
   828 
       
   829     QList<int> entriesIds;
       
   830     entriesIds << entry_1->id() << entry_2->id()
       
   831                << entry_3->id() << entry_4->id();
       
   832     service->appendEntriesToGroup(group_1->id(), entriesIds);
       
   833 
       
   834     CaQuery query;
       
   835     query.setParentId(group_1->id());
       
   836     query.setSort(DefaultSortAttribute, Qt::AscendingOrder);
       
   837     QList<int> entriesIdsBefore = service->getEntryIds(query);
       
   838     QVERIFY(entriesIds == entriesIdsBefore);
       
   839 
       
   840     entriesIds.clear();
       
   841     for (int i(entriesIdsBefore.count()-1); i >= 0; i--) {
       
   842         entriesIds.append(entriesIdsBefore.at(i));
       
   843     }
       
   844 
       
   845     QVERIFY(service->customSort(group_1->id(), entriesIds));
       
   846     QTest::qWait(500);
       
   847     QList<int> entriesIdsAfter = service->getEntryIds(query);
       
   848 
       
   849     QVERIFY(entriesIds != entriesIdsBefore);
       
   850     QVERIFY(entriesIds == entriesIdsAfter);
       
   851     
       
   852     // cleanup
       
   853     service->removeEntries(entriesIdsAfter << group_1->id());
       
   854 }
       
   855 
       
   856 // ---------------------------------------------------------------------------
       
   857 // ---------------------------------------------------------------------------
       
   858 //
       
   859 void TestCaClient::TestCustomSortGroups()
       
   860 {
       
   861     QSharedPointer<CaService> service = CaService::instance();
       
   862     CaEntry itemEntry_1;
       
   863     itemEntry_1.setText("item_1");
       
   864     itemEntry_1.setEntryTypeName("collection");
       
   865     CaEntry groupEntry_1(GroupEntryRole);
       
   866     groupEntry_1.setText("group_1");
       
   867     groupEntry_1.setEntryTypeName("collection");
       
   868 
       
   869     QSharedPointer<CaEntry> entry_1 = service->createEntry(itemEntry_1);
       
   870     QSharedPointer<CaEntry> entry_2 = service->createEntry(itemEntry_1);
       
   871     QSharedPointer<CaEntry> entry_3 = service->createEntry(itemEntry_1);
       
   872     QSharedPointer<CaEntry> entry_4 = service->createEntry(itemEntry_1);
       
   873     QSharedPointer<CaEntry> group_1 = service->createEntry(groupEntry_1);
       
   874 
       
   875     CaEntry itemEntry_2;
       
   876     itemEntry_2.setText("item_2");
       
   877     itemEntry_2.setEntryTypeName("collection");
       
   878     CaEntry groupEntry_2(GroupEntryRole);
       
   879     groupEntry_2.setText("group_2");
       
   880     groupEntry_2.setEntryTypeName("collection");
       
   881 
       
   882     QSharedPointer<CaEntry> entry_5 = service->createEntry(itemEntry_2);
       
   883     QSharedPointer<CaEntry> entry_6 = service->createEntry(itemEntry_2);
       
   884     QSharedPointer<CaEntry> entry_7 = service->createEntry(itemEntry_2);
       
   885     QSharedPointer<CaEntry> entry_8 = service->createEntry(itemEntry_2);
       
   886     QSharedPointer<CaEntry> group_2 = service->createEntry(groupEntry_2);
       
   887 
       
   888     QList<int> entriesIds;
       
   889     entriesIds << entry_1->id() << entry_2->id()
       
   890                << entry_3->id() << entry_4->id();
       
   891     service->appendEntriesToGroup(group_1->id(), entriesIds);
       
   892 
       
   893     entriesIds.clear();
       
   894     entriesIds << entry_5->id() << entry_6->id()
       
   895                << entry_7->id() << entry_8->id();
       
   896     service->appendEntriesToGroup(group_2->id(), entriesIds);
       
   897 
       
   898     CaQuery query;
       
   899     query.setParentId(group_1->id());
       
   900     query.setSort(DefaultSortAttribute, Qt::AscendingOrder);
       
   901     QList<int> entriesIdsBefore_1 = service->getEntryIds(query);
       
   902 
       
   903     query.setParentId(group_2->id());
       
   904     QList<int> entriesIdsBefore_2 = service->getEntryIds(query);
       
   905     QVERIFY(entriesIdsBefore_1 != entriesIdsBefore_2);
       
   906 
       
   907     entriesIds.clear();
       
   908     for (int i(entriesIdsBefore_1.count()-1); i >= 0; i--) {
       
   909         entriesIds.append(entriesIdsBefore_1.at(i));
       
   910     }
       
   911 
       
   912     QVERIFY(service->customSort(group_1->id(), entriesIds));
       
   913     QTest::qWait(500);
       
   914     query.setParentId(group_1->id());
       
   915     QList<int> entriesIdsAfter_1 = service->getEntryIds(query);
       
   916     query.setParentId(group_2->id());
       
   917     QList<int> entriesIdsAfter_2 = service->getEntryIds(query);
       
   918 
       
   919     QVERIFY(entriesIds != entriesIdsBefore_1);
       
   920     QVERIFY(entriesIds == entriesIdsAfter_1);
       
   921     QVERIFY(entriesIds != entriesIdsBefore_2);
       
   922     QVERIFY(entriesIdsBefore_2 == entriesIdsAfter_2);
       
   923 
       
   924     entriesIds.clear();
       
   925     for (int i(entriesIdsBefore_2.count()-1); i >= 0; i--) {
       
   926         entriesIds.append(entriesIdsBefore_2.at(i));
       
   927     }
       
   928 
       
   929     QVERIFY(service->customSort(group_2->id(), entriesIds));
       
   930     QTest::qWait(500);
       
   931     query.setParentId(group_1->id());
       
   932     entriesIdsBefore_1 = service->getEntryIds(query);
       
   933     query.setParentId(group_2->id());
       
   934     entriesIdsAfter_2 = service->getEntryIds(query);
       
   935 
       
   936     QVERIFY(entriesIds != entriesIdsBefore_2);
       
   937     QVERIFY(entriesIds == entriesIdsAfter_2);
       
   938     QVERIFY(entriesIds != entriesIdsBefore_1);
       
   939     QVERIFY(entriesIdsBefore_1 == entriesIdsAfter_1);
       
   940     QVERIFY(entriesIdsBefore_2 != entriesIdsAfter_2);
       
   941     
       
   942     // cleanup
       
   943     service->removeEntries(entriesIdsAfter_1 << group_1->id());
       
   944     service->removeEntries(entriesIdsAfter_2 << group_2->id());
       
   945 }
       
   946 
       
   947 // ---------------------------------------------------------------------------
       
   948 // ---------------------------------------------------------------------------
       
   949 //
       
   950 void TestCaClient::TestCustomSortFake()
       
   951 {
       
   952     QSharedPointer<CaService> service = CaService::instance();
       
   953     CaEntry itemEntry_1;
       
   954     itemEntry_1.setText("item_1");
       
   955     itemEntry_1.setEntryTypeName("collection");
       
   956     CaEntry groupEntry_1(GroupEntryRole);
       
   957     groupEntry_1.setText("group_1");
       
   958     groupEntry_1.setEntryTypeName("collection");
       
   959 
       
   960     QSharedPointer<CaEntry> entry_1 = service->createEntry(itemEntry_1);
       
   961     QSharedPointer<CaEntry> entry_2 = service->createEntry(itemEntry_1);
       
   962     QSharedPointer<CaEntry> entry_3 = service->createEntry(itemEntry_1);
       
   963     QSharedPointer<CaEntry> entry_4 = service->createEntry(itemEntry_1);
       
   964     QSharedPointer<CaEntry> group_1 = service->createEntry(groupEntry_1);
       
   965 
       
   966     QList<int> entriesIds;
       
   967     entriesIds << entry_1->id() << entry_2->id()
       
   968                << entry_3->id() << entry_4->id();
       
   969     service->appendEntriesToGroup(group_1->id(), entriesIds);
       
   970 
       
   971     CaQuery query;
       
   972     query.setParentId(group_1->id());
       
   973     query.setSort(DefaultSortAttribute, Qt::AscendingOrder);
       
   974     QList<int> entriesIdsBefore = service->getEntryIds(query);
       
   975     QVERIFY(entriesIds == entriesIdsBefore);
       
   976 
       
   977     entriesIds.clear();
       
   978     // fake list, not fulfilled correctly
       
   979     for (int i(entriesIdsBefore.count()-1); i >= 0; i--) {
       
   980         if (i%2) {
       
   981             entriesIds.append(entriesIdsBefore.at(i));
       
   982         }
       
   983     }
       
   984 
       
   985     QVERIFY(service->customSort(group_1->id(), entriesIds));
       
   986     QTest::qWait(500);
       
   987     QList<int> entriesIdsAfter = service->getEntryIds(query);
       
   988 
       
   989     QVERIFY(entriesIdsBefore != entriesIdsAfter);
       
   990     QVERIFY(entriesIds != entriesIdsAfter);
       
   991 
       
   992     // cleanup
       
   993     service->removeEntries(entriesIdsAfter << group_1->id());
       
   994 }
       
   995 
       
   996 // ---------------------------------------------------------------------------
       
   997 // ---------------------------------------------------------------------------
       
   998 //
       
   999 void TestCaClient::TestCustomSort()
       
  1000 {
       
  1001     CaQuery collectionQuery;
       
  1002     collectionQuery.addEntryTypeName("collection");
       
  1003     QSharedPointer<CaService> service = CaService::instance();
       
  1004     QList<int> collectionIds = service->getEntryIds(collectionQuery);
       
  1005     QVERIFY(collectionIds.count());
       
  1006     
       
  1007     const int groupId = collectionIds.at(0);
       
  1008 
       
  1009     CaQuery query;
       
  1010     query.setParentId(groupId);
       
  1011     query.setSort(DefaultSortAttribute, Qt::AscendingOrder);
       
  1012 
       
  1013     QList<int> idsBefore = service->getEntryIds(query);
       
  1014     QVERIFY(idsBefore.count());
       
  1015 
       
  1016     int first = idsBefore.takeFirst();
       
  1017     idsBefore.append(first);
       
  1018 
       
  1019     // sort entries is group in custom order
       
  1020     QVERIFY(service->customSort(groupId, idsBefore));
       
  1021 
       
  1022     // check results
       
  1023     QList<int> idsAfter = service->getEntryIds(query);
       
  1024     QVERIFY(idsAfter.count());
       
  1025 
       
  1026     QCOMPARE(idsAfter.count(),idsBefore.count());
       
  1027     QCOMPARE(idsAfter, idsBefore);
       
  1028 }