mirror of
https://github.com/overleaf/overleaf.git
synced 2024-10-24 21:12:38 -04:00
e60885aa88
Move CSS loading in Cypress to individual test spec files GitOrigin-RevId: 92bb5167cfa81b0bd54acc724efb23b397421ccb
108 lines
3.2 KiB
TypeScript
108 lines
3.2 KiB
TypeScript
import '../../../../helpers/bootstrap-3'
|
|
import OffboardManagedUserModal from '@/features/group-management/components/members-table/offboard-managed-user-modal'
|
|
import sinon from 'sinon'
|
|
|
|
describe('OffboardManagedUserModal', function () {
|
|
describe('happy path', function () {
|
|
const groupId = 'some-group'
|
|
const user = {
|
|
_id: 'some-user',
|
|
email: 'some.user@example.com',
|
|
first_name: 'Some',
|
|
last_name: 'User',
|
|
invite: true,
|
|
last_active_at: new Date(),
|
|
enrollment: {
|
|
managedBy: `${groupId}`,
|
|
enrolledAt: new Date(),
|
|
},
|
|
isEntityAdmin: undefined,
|
|
}
|
|
const otherUser = {
|
|
_id: 'other-user',
|
|
email: 'other.user@example.com',
|
|
first_name: 'Other',
|
|
last_name: 'User',
|
|
invite: false,
|
|
last_active_at: new Date(),
|
|
enrollment: {
|
|
managedBy: `${groupId}`,
|
|
enrolledAt: new Date(),
|
|
},
|
|
isEntityAdmin: undefined,
|
|
}
|
|
const allMembers = [user, otherUser]
|
|
|
|
beforeEach(function () {
|
|
cy.mount(
|
|
<OffboardManagedUserModal
|
|
user={user}
|
|
allMembers={allMembers}
|
|
groupId={groupId}
|
|
onClose={sinon.stub()}
|
|
/>
|
|
)
|
|
})
|
|
|
|
it('should render the modal', function () {
|
|
cy.get('#delete-user-form').should('exist')
|
|
})
|
|
|
|
it('should disable the button if a recipient is not selected', function () {
|
|
// Button should be disabled initially
|
|
cy.get('button[type="submit"]').should('be.disabled')
|
|
|
|
// Not selecting a recipient...
|
|
|
|
// Fill in the email input
|
|
cy.get('#supplied-email-input').type(user.email)
|
|
|
|
// Button still disabled
|
|
cy.get('button[type="submit"]').should('be.disabled')
|
|
})
|
|
|
|
it('should disable the button if the email is not filled in', function () {
|
|
// Button should be disabled initially
|
|
cy.get('button[type="submit"]').should('be.disabled')
|
|
|
|
// Select a recipient
|
|
cy.get('#recipient-select-input').select('other.user@example.com')
|
|
|
|
// Not filling in the email...
|
|
|
|
// Button still disabled
|
|
cy.get('button[type="submit"]').should('be.disabled')
|
|
})
|
|
|
|
it('should disable the button if the email does not match the user', function () {
|
|
// Button should be disabled initially
|
|
cy.get('button[type="submit"]').should('be.disabled')
|
|
|
|
// Select a recipient
|
|
cy.get('#recipient-select-input').select('other.user@example.com')
|
|
|
|
// Fill in the email input, with the wrong email address
|
|
cy.get('#supplied-email-input').type('totally.wrong@example.com')
|
|
|
|
// Button still disabled
|
|
cy.get('button[type="submit"]').should('be.disabled')
|
|
})
|
|
|
|
it('should fill out the form, and enable the delete button', function () {
|
|
// Button should be disabled initially
|
|
cy.get('button[type="submit"]').should('be.disabled')
|
|
|
|
// Select a recipient
|
|
cy.get('#recipient-select-input').select('other.user@example.com')
|
|
|
|
// Button still disabled
|
|
cy.get('button[type="submit"]').should('be.disabled')
|
|
|
|
// Fill in the email input
|
|
cy.get('#supplied-email-input').type(user.email)
|
|
|
|
// Button should be enabled now
|
|
cy.get('button[type="submit"]').should('not.be.disabled')
|
|
})
|
|
})
|
|
})
|