Skip to content
Lyndsy Simon edited this page Sep 4, 2013 · 6 revisions

Add Component

When a component is added, it should show up in the project's component list.

TODO: Test that created date is correct

Add Project

When a project is added, the title and description should match the values entered, and the project should be shown in the user's dashboard.

TODO: Test that created date is correct

Add Project with No Title

Creating a project with no title should fail.

Add Project with No Description

Creating a project with no description should not fail.

Delete Project

When a project is deleted, the user should be redirected to the homepage with an appropriate alert.

Rename Project

When a project is renamed, the new name should be persistent when the page is refreshed.

Reorder Components

When project components and drag-n-dropped to a new location, they should retain the new ordering on page refresh.

Public Components of Private Projects

If a component of a private project is set to public, it should be accessible to anonymous users.

Private Components of Public Projects

If a component of a public project is set to private, it should be not accessible to anonymous users or to users who are not contributors.

Files of Private Components of Public Projects

Files belonging to a private component that is part of a public project should not be accessible to anonymous users or users who are not contributors.

Forking Behavior of Private Components of a Public Project

When a public project is forked, private components should not be forked with it.

Fork a Project

When a public project is forked, a new project should be created. The title of that project should begin with "Fork of".

Forked Projects Link to Parent Project

When a project is forked, the new project should contain a link in the title area to the original project.

Non-project Components May Not Be Forked

On a component's page, the fork button should be inactive, and perform no action when clicked.

Fork a Project Which is the Child of a Project

When a public project is forked, a new project should be created. The title of that project should begin with "Fork of".

Add Contributor

When a contributor is added to a private project, that user should then be able to access the project.

Remove Contributor

When a contributor is removed from a private project, that user should no longer be able to access the project.

Public/Private Projects

When a project is set to "public", it should be readable by all, including non-logged-in users. When it is set to "private", only contributors should be able to access it.

Non-Contributor Modification

When a user who is not a contributor attempts to modify a project, those actions should fail or have no effect.