Beispiel #1
0
function createTicket($project = null, $milestone = null, $user = null)
{
    if (!$project) {
        $project = createProject();
    }
    if (!$milestone) {
        $milestone = createMilestone($project);
    }
    if (!$user) {
        $user = createUser();
    }
    $ticket = new Ticket(['ticket_id' => $project['next_ticket_id'], 'summary' => 'ticket-' . mkRandomHash(5) . '-summary', 'body' => 'ticket-' . mkRandomHash(5) . '-body', 'project_id' => $project['id'], 'user_id' => $user['id'], 'type_id' => 1, 'milestone_id' => $milestone['id']]);
    $ticket->save();
    $project['next_ticket_id'] = $project['next_ticket_id'] + 1;
    $project->save();
    return $ticket;
}
Beispiel #2
0
<?php

$testSuite->createGroup('Requests / Projects / Roadmap', function ($g) {
    $project = createProject();
    $milestone = createMilestone($project);
    $g->test('List milestones', function ($t) use($project, $milestone) {
        $resp = $t->visit('roadmap', ['routeTokens' => ['pslug' => $project['slug']]]);
        $t->assertContains('<h1 class="page-header">Roadmap</h1>', $resp->body);
        $t->assertContains($milestone['name'], $resp->body);
    });
    $g->test('Show milestone', function ($t) use($project, $milestone) {
        $resp = $t->visit('milestone', ['routeTokens' => ['pslug' => $project['slug'], 'slug' => $milestone['slug']]]);
        $t->assertContains($milestone['name'], $resp->body);
    });
});
Beispiel #3
0
    $milestone = createMilestone($project);
    $g->test('List milestones', function ($t) use($project, $user) {
        $resp = $t->visit('project_settings_milestones', ['routeTokens' => ['pslug' => $project['slug']], 'cookie' => ['traq' => $user['session_hash']]]);
        $t->assertEquals(200, $resp->status);
        $t->assertContains('<h1 class="page-header">Milestones</h1>', $resp->body);
    });
    $g->test('New milestone', function ($t) use($project, $user) {
        $resp = $t->visit('project_settings_new_milestone', ['routeTokens' => ['pslug' => $project['slug']], 'cookie' => ['traq' => $user['session_hash']]]);
        $t->assertEquals(200, $resp->status);
        $t->assertContains('<h1 class="page-header">New Milestone</h1>', $resp->body);
    });
    $g->test('Create milestone', function ($t) use($project, $user) {
        $resp = $t->visit('project_settings_create_milestone', ['method' => 'POST', 'routeTokens' => ['pslug' => $project['slug']], 'post' => ['name' => '1.0-test-name', 'slug' => '1.0-test-slug'], 'cookie' => ['traq' => $user['session_hash']]]);
        $t->assertRedirectTo($t->generateUrl('project_settings_milestones'), $resp);
    });
    $g->test('Disallow editing another projects milestone', function ($t) use($project, $user) {
        $milestone = createMilestone();
        $resp = $t->visit('project_settings_edit_milestone', ['routeTokens' => ['pslug' => $project['slug'], 'id' => $milestone['id']], 'cookie' => ['traq' => $user['session_hash']]]);
        $t->assertEquals(404, $resp->status);
    });
    $g->test('Edit milestone', function ($t) use($project, $user, $milestone) {
        $resp = $t->visit('project_settings_edit_milestone', ['routeTokens' => ['pslug' => $project['slug'], 'id' => $milestone['id']], 'cookie' => ['traq' => $user['session_hash']]]);
        $t->assertEquals(200, $resp->status);
        $t->assertContains('<h1 class="page-header">Edit Milestone</h1>', $resp->body);
        $t->assertContains($milestone['name'], $resp->body);
    });
    $g->test('Save milestone', function ($t) use($project, $user, $milestone) {
        $resp = $t->visit('project_settings_save_milestone', ['method' => 'PATCH', 'routeTokens' => ['pslug' => $project['slug'], 'id' => $milestone['id']], 'post' => ['name' => 'My Updated Milestone'], 'cookie' => ['traq' => $user['session_hash']]]);
        $t->assertRedirectTo($t->generateUrl('project_settings_milestones'), $resp);
    });
});