
fix: project table view fix: e2e tests fix: typo in readme fix: list view route fix: don't wait until background is loaded for list to show fix: rename component imports fix: lint fix: parse task text fix: use list card grid fix: use correct class names fix: i18n keys fix: load project fix: task overview fix: list view spacing fix: find project fix: setLoading when updating a project fix: loading saved filter fix: project store loading fix: color picker import fix: cypress tests feat: migrate old list settings chore: add const for project settings fix: wrong projecten rename from lists chore: rename unused variable fix: editor list fix: shortcut list class name fix: pagination list class name fix: notifications list class name fix: list view variable name chore: clarify comment fix: i18n keys fix: router imports fix: comment chore: remove debugging leftover fix: remove duplicate variables fix: change comment fix: list view variable name fix: list view css class name fix: list item property name fix: name update tasks function correctly fix: update comment fix: project create route fix: list view class names fix: list view component name fix: result list class name fix: animation class list name fix: change debug log fix: revert a few navigation changes fix: use @ for imports of all views fix: rename link share list class fix: remove unused css class fix: dynamically import project components again
146 lines
4.0 KiB
TypeScript
146 lines
4.0 KiB
TypeScript
import {createFakeUserAndLogin} from '../../support/authenticateUser'
|
|
|
|
import {ProjectFactory} from '../../factories/project'
|
|
import {NamespaceFactory} from '../../factories/namespace'
|
|
|
|
describe('Namepaces', () => {
|
|
createFakeUserAndLogin()
|
|
|
|
let namespaces
|
|
|
|
beforeEach(() => {
|
|
namespaces = NamespaceFactory.create(1)
|
|
ProjectFactory.create(1)
|
|
})
|
|
|
|
it('Should be all there', () => {
|
|
cy.visit('/namespaces')
|
|
cy.get('[data-cy="namespace-title"]')
|
|
.should('contain', namespaces[0].title)
|
|
})
|
|
|
|
it('Should create a new Namespace', () => {
|
|
const newNamespaceTitle = 'New Namespace'
|
|
|
|
cy.visit('/namespaces')
|
|
cy.get('[data-cy="new-namespace"]')
|
|
.should('contain', 'New namespace')
|
|
.click()
|
|
|
|
cy.url()
|
|
.should('contain', '/namespaces/new')
|
|
cy.get('.card-header-title')
|
|
.should('contain', 'New namespace')
|
|
cy.get('input.input')
|
|
.type(newNamespaceTitle)
|
|
cy.get('.button')
|
|
.contains('Create')
|
|
.click()
|
|
|
|
cy.get('.global-notification')
|
|
.should('contain', 'Success')
|
|
cy.get('.namespace-container')
|
|
.should('contain', newNamespaceTitle)
|
|
cy.url()
|
|
.should('contain', '/namespaces')
|
|
})
|
|
|
|
it('Should rename the namespace all places', () => {
|
|
const newNamespaces = NamespaceFactory.create(5)
|
|
const newNamespaceName = 'New namespace name'
|
|
|
|
cy.visit('/namespaces')
|
|
|
|
cy.get(`.namespace-container .menu.namespaces-lists .namespace-title:contains(${newNamespaces[0].title}) .dropdown .dropdown-trigger`)
|
|
.click()
|
|
cy.get('.namespace-container .menu.namespaces-lists .namespace-title .dropdown .dropdown-content')
|
|
.contains('Edit')
|
|
.click()
|
|
cy.url()
|
|
.should('contain', '/settings/edit')
|
|
cy.get('#namespacetext')
|
|
.invoke('val')
|
|
.should('equal', newNamespaces[0].title) // wait until the namespace data is loaded
|
|
cy.get('#namespacetext')
|
|
.type(`{selectall}${newNamespaceName}`)
|
|
cy.get('footer.card-footer .button')
|
|
.contains('Save')
|
|
.click()
|
|
|
|
cy.get('.global-notification', { timeout: 1000 })
|
|
.should('contain', 'Success')
|
|
cy.get('.namespace-container .menu.namespaces-lists')
|
|
.should('contain', newNamespaceName)
|
|
.should('not.contain', newNamespaces[0].title)
|
|
cy.get('[data-cy="namespaces-list"]')
|
|
.should('contain', newNamespaceName)
|
|
.should('not.contain', newNamespaces[0].title)
|
|
})
|
|
|
|
it('Should remove a namespace when deleting it', () => {
|
|
const newNamespaces = NamespaceFactory.create(5)
|
|
|
|
cy.visit('/')
|
|
|
|
cy.get(`.namespace-container .menu.namespaces-lists .namespace-title:contains(${newNamespaces[0].title}) .dropdown .dropdown-trigger`)
|
|
.click()
|
|
cy.get('.namespace-container .menu.namespaces-lists .namespace-title .dropdown .dropdown-content')
|
|
.contains('Delete')
|
|
.click()
|
|
cy.url()
|
|
.should('contain', '/settings/delete')
|
|
cy.get('[data-cy="modalPrimary"]')
|
|
.contains('Do it')
|
|
.click()
|
|
|
|
cy.get('.global-notification')
|
|
.should('contain', 'Success')
|
|
cy.get('.namespace-container .menu.namespaces-lists')
|
|
.should('not.contain', newNamespaces[0].title)
|
|
})
|
|
|
|
it('Should not show archived projects & namespaces if the filter is not checked', () => {
|
|
const n = NamespaceFactory.create(1, {
|
|
id: 2,
|
|
is_archived: true,
|
|
}, false)
|
|
ProjectFactory.create(1, {
|
|
id: 2,
|
|
namespace_id: n[0].id,
|
|
}, false)
|
|
|
|
ProjectFactory.create(1, {
|
|
id: 3,
|
|
is_archived: true,
|
|
}, false)
|
|
|
|
// Initial
|
|
cy.visit('/namespaces')
|
|
cy.get('.namespace')
|
|
.should('not.contain', 'Archived')
|
|
|
|
// Show archived
|
|
cy.get('[data-cy="show-archived-check"] label.check span')
|
|
.should('be.visible')
|
|
.click()
|
|
cy.get('[data-cy="show-archived-check"] input')
|
|
.should('be.checked')
|
|
cy.get('.namespace')
|
|
.should('contain', 'Archived')
|
|
|
|
// Don't show archived
|
|
cy.get('[data-cy="show-archived-check"] label.check span')
|
|
.should('be.visible')
|
|
.click()
|
|
cy.get('[data-cy="show-archived-check"] input')
|
|
.should('not.be.checked')
|
|
|
|
// Second time visiting after unchecking
|
|
cy.visit('/namespaces')
|
|
cy.get('[data-cy="show-archived-check"] input')
|
|
.should('not.be.checked')
|
|
cy.get('.namespace')
|
|
.should('not.contain', 'Archived')
|
|
})
|
|
})
|