-
Notifications
You must be signed in to change notification settings - Fork 9
Components
When a component is added, it should show up in the project's component list.
TODO: Test that created date is correct
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
Creating a project with no title should fail.
Creating a project with no description should not fail.
When a project is deleted, the user should be redirected to the homepage with an appropriate alert.
When a project is renamed, the new name should be persistent when the page is refreshed.
When project components and drag-n-dropped to a new location, they should retain the new ordering on page refresh.
If a component of a private project is set to public, it should be accessible to anonymous users.
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 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.
When a public project is forked, private components should not be forked with it.
When a public project is forked, a new project should be created. The title of that project should begin with "Fork of".
When a project is forked, the new project should contain a link in the title area to the original project.
On a component's page, the fork button should be inactive, and perform no action when clicked.
When a public project is forked, a new project should be created. The title of that project should begin with "Fork of".
When a contributor is added to a private project, that user should then be able to access the project.
When a contributor is removed from a private project, that user should no longer be able to access the project.
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.
When a user who is not a contributor attempts to modify a project, those actions should fail or have no effect.