mirror of
https://github.com/filegator/filegator.git
synced 2025-08-15 05:34:32 +02:00
cypress e2e tests;
This commit is contained in:
@@ -1,8 +1,124 @@
|
||||
// https://docs.cypress.io/api/introduction/api.html
|
||||
|
||||
describe('My First Test', () => {
|
||||
it('Visits the app root url', () => {
|
||||
cy.visit('/')
|
||||
cy.contains('h1', 'Welcome to Your Vue.js App')
|
||||
})
|
||||
Cypress.Cookies.defaults({
|
||||
whitelist: 'filegator' // do not clear this cookie every time
|
||||
})
|
||||
|
||||
describe('Browser', () => {
|
||||
|
||||
// once before any of the tests run.
|
||||
before(function () {
|
||||
})
|
||||
|
||||
// before each test
|
||||
beforeEach(function () {
|
||||
cy.server()
|
||||
cy.route('GET', '?r=/getconfig', 'fixture:getconfig')
|
||||
cy.route('GET', '?r=/getuser', 'fixture:getuser')
|
||||
cy.route('POST', '?r=/getdir', 'fixture:dir_home')
|
||||
cy.route('POST', '?r=/changedir', 'fixture:dir_mydocs')
|
||||
cy.route('GET', '?r=/listusers', 'fixture:listusers')
|
||||
})
|
||||
|
||||
it('Visits the root', () => {
|
||||
cy.visit('/')
|
||||
cy.contains('My Documents')
|
||||
})
|
||||
|
||||
it('Go to subfolder', () => {
|
||||
cy.visit('/')
|
||||
cy.contains('My Documents').click()
|
||||
cy.contains('Cool Project.doc')
|
||||
cy.contains('Home')
|
||||
})
|
||||
|
||||
it('Login admin', function() {
|
||||
cy.viewport(1024, 768)
|
||||
cy.route('POST', '?r=/login', 'fixture:login_admin')
|
||||
cy.visit('/')
|
||||
cy.contains('Log in').click()
|
||||
cy.get('input[name="username"]').type('admin')
|
||||
cy.get('input[type="password"]').type('admin123')
|
||||
cy.contains('Log in').click()
|
||||
|
||||
cy.contains('a.navbar-item', 'Files')
|
||||
cy.contains('a.navbar-item', 'Users')
|
||||
cy.contains('a.navbar-item', 'Log out')
|
||||
cy.contains('a.navbar-item', 'Profile').click()
|
||||
cy.contains('.modal', 'Old password')
|
||||
cy.contains('.modal', 'New password')
|
||||
cy.get('.modal-close').click()
|
||||
cy.contains('a.navbar-item', 'Users').click()
|
||||
cy.contains('admin')
|
||||
cy.contains('guest')
|
||||
cy.contains('john').click()
|
||||
cy.contains('.modal', 'Role')
|
||||
cy.contains('.modal', 'Username')
|
||||
cy.contains('.modal', 'Name')
|
||||
cy.contains('.modal', 'Password')
|
||||
cy.contains('.modal', 'Home Folder')
|
||||
cy.contains('.modal', 'Permissions')
|
||||
cy.contains('.modal .field', 'Read')
|
||||
cy.contains('.modal .field', 'Write')
|
||||
cy.contains('.modal .field', 'Upload')
|
||||
cy.contains('.modal .field', 'Download')
|
||||
cy.contains('.modal .field', 'Batch Download')
|
||||
cy.contains('.modal .field', 'Zip')
|
||||
cy.get('.modal-close').click()
|
||||
})
|
||||
|
||||
it('Check multiple files', () => {
|
||||
cy.viewport(1024, 768)
|
||||
cy.visit('/')
|
||||
cy.contains('Selected: 0 of 9')
|
||||
cy.contains('#multi-actions', 'Add files')
|
||||
cy.contains('#multi-actions', 'New')
|
||||
cy.get('span.check').first().click()
|
||||
cy.contains('Selected: 9 of 9')
|
||||
cy.contains('#multi-actions', 'Download')
|
||||
cy.contains('#multi-actions', 'Copy')
|
||||
cy.contains('#multi-actions', 'Move')
|
||||
cy.contains('#multi-actions', 'Zip')
|
||||
cy.contains('#multi-actions', 'Delete')
|
||||
})
|
||||
|
||||
it('Single dir actions', () => {
|
||||
cy.viewport(1024, 768)
|
||||
cy.visit('/')
|
||||
cy.contains('tr.type-dir', 'Copy')
|
||||
cy.contains('tr.type-dir', 'Move')
|
||||
cy.contains('tr.type-dir', 'Rename')
|
||||
cy.contains('tr.type-dir', 'Zip')
|
||||
cy.contains('tr.type-dir', 'Delete')
|
||||
})
|
||||
|
||||
it('Single file actions', () => {
|
||||
cy.viewport(1024, 768)
|
||||
cy.visit('/')
|
||||
cy.contains('tr.type-file', 'Download')
|
||||
cy.contains('tr.type-file', 'Copy')
|
||||
cy.contains('tr.type-file', 'Move')
|
||||
cy.contains('tr.type-file', 'Rename')
|
||||
cy.contains('tr.type-file', 'Zip')
|
||||
cy.contains('tr.type-file', 'Unzip')
|
||||
cy.contains('tr.type-file', 'Delete')
|
||||
cy.contains('tr.type-file', 'Copy link')
|
||||
})
|
||||
|
||||
it('New folder and file', () => {
|
||||
cy.visit('/')
|
||||
cy.contains('New').click()
|
||||
cy.contains('.dropdown-content', 'Folder')
|
||||
cy.contains('.dropdown-content', 'File')
|
||||
})
|
||||
|
||||
it('Tree view', () => {
|
||||
cy.viewport(1024, 768)
|
||||
cy.visit('/')
|
||||
cy.contains('My Documents').click()
|
||||
cy.get('#sitemap').click()
|
||||
cy.contains('Projects')
|
||||
cy.contains('Test')
|
||||
cy.contains('Close').click()
|
||||
})
|
||||
|
||||
})
|
||||
|
Reference in New Issue
Block a user