Beispiel #1
0
void CharmDataModelTests::modifyTaskTest()
{
    CharmDataModel model;
    Task task1( 1000, "Task 1" );
    Task task1_1( 1001, "Task 1-1", task1.id() );
    Task task1_2( 1002, "Task 1-2", task1.id() );
    Task task1_3( 1003, "Task 1-3", task1.id() );
    model.addTask( task1 );
    model.addTask( task1_3 );
    model.addTask( task1_1 );
    model.addTask( task1_2 );
    QVERIFY( model.taskTreeItem( 0 ).childCount() == 1 );
    QVERIFY( model.taskTreeItem( task1.id() ).childCount() == 3 );

    // new values:
    Task task1b( task1 );
    task1b.setName( "Task 1, modified" );
    Task task1_1b( task1_1 );
    task1_1b.setParent( 0 );

    QVERIFY( model.taskTreeItem( task1.id() ).task() == task1 );
    model.modifyTask( task1b );
    QVERIFY( model.taskTreeItem( task1.id() ).task() == task1b );

    QVERIFY( model.taskTreeItem( task1_1.id() ).task() == task1_1 );
    QVERIFY( model.taskTreeItem( 0 ).childCount() == 1 );
    model.modifyTask( task1_1b ); // now a top level
    QVERIFY( model.taskTreeItem( task1_1.id() ).task() == task1_1b );
    QVERIFY( model.taskTreeItem( 0 ).childCount() == 2 );

    model.clearTasks();
    QVERIFY( model.taskTreeItem( 0 ).childCount() == 0 );
}
void BackendIntegrationTests::simpleCreateModifyDeleteTaskTest()
{
    Task task1( 1000, "Task 1" );
    Task task1b( task1 );
    task1b.setName( "Task 1, modified" );
    // add:
    controller()->addTask( task1 );
    QVERIFY( controller()->storage()->getAllTasks().size() == 1 );
    QVERIFY( controller()->storage()->getAllTasks().first() == task1 );
    QVERIFY( model()->taskTreeItem( task1.id() ).task() == task1 );
    // modify:
    controller()->modifyTask( task1b );
    QVERIFY( controller()->storage()->getAllTasks().size() == 1 );
    QVERIFY( controller()->storage()->getAllTasks().first() == task1b );
    QVERIFY( model()->taskTreeItem( task1.id() ).task() == task1b );
    // delete:
    controller()->deleteTask( task1 );
    QVERIFY( controller()->storage()->getAllTasks().size() == 0 );
    QVERIFY( model()->taskTreeItem( 0 ).childCount() == 0 );
}