1
0
Fork 0
mirror of https://github.com/documize/community.git synced 2025-08-02 20:15:26 +02:00

initial commit

This commit is contained in:
Harvey Kandola 2016-07-07 18:54:16 -07:00
commit 18933c6767
1841 changed files with 810642 additions and 0 deletions

View file

@ -0,0 +1,28 @@
// Copyright 2016 Documize Inc. <legal@documize.com>. All rights reserved.
//
// This software (Documize Community Edition) is licensed under
// GNU AGPL v3 http://www.gnu.org/licenses/agpl-3.0.en.html
//
// You can operate outside the AGPL restrictions by purchasing
// Documize Enterprise Edition and obtaining a commercial license
// by contacting <sales@documize.com>.
//
// https://documize.com
import { test } from 'qunit';
import moduleForAcceptance from 'documize/tests/helpers/module-for-acceptance';
moduleForAcceptance('Acceptance | Anon access disabled');
test('visiting / when not authenticated and with { allowAnonymousAccess: false } takes user to login', function (assert) {
server.create('meta', { allowAnonymousAccess: false });
server.createList('folder', 2);
visit('/');
andThen(function () {
assert.equal(currentURL(), '/auth/login');
findWithAssert('#authEmail');
findWithAssert('#authPassword');
findWithAssert('button');
});
});

View file

@ -0,0 +1,45 @@
// Copyright 2016 Documize Inc. <legal@documize.com>. All rights reserved.
//
// This software (Documize Community Edition) is licensed under
// GNU AGPL v3 http://www.gnu.org/licenses/agpl-3.0.en.html
//
// You can operate outside the AGPL restrictions by purchasing
// Documize Enterprise Edition and obtaining a commercial license
// by contacting <sales@documize.com>.
//
// https://documize.com
import { test } from 'qunit';
import moduleForAcceptance from 'documize/tests/helpers/module-for-acceptance';
moduleForAcceptance('Acceptance | Anon access enabled');
test('visiting / when not authenticated and with { allowAnonymousAccess: true } takes user to folder view', function (assert) {
server.create('meta', { allowAnonymousAccess: true });
server.createList('folder', 2);
visit('/');
andThen(function () {
assert.equal(find('.login').length, 1, 'Login button is displayed');
assert.equal(find('.documents-list .document').length, 2, '2 document displayed');
assert.equal(currentURL(), '/s/VzMuyEw_3WqiafcG/my-project', 'Dashboard and public spaces are displayed without being signed in');
});
});
test('visiting / when authenticated and with { allowAnonymousAccess: true } takes user to dashboard', function (assert) {
server.create('meta', { allowAnonymousAccess: true });
server.createList('folder', 2);
visit('/');
andThen(function () {
assert.equal(find('.login').length, 1, 'Login button is displayed');
assert.equal(currentURL(), '/s/VzMuyEw_3WqiafcG/my-project', 'Dashboard displayed without being signed in');
});
userLogin();
andThen(function () {
assert.equal(find('.login').length, 0, 'Login button is not displayed');
assert.equal(currentURL(), '/s/VzMuyEw_3WqiafcG/my-project', 'Dashboard is displayed after user is signed in');
});
});

View file

@ -0,0 +1,63 @@
// Copyright 2016 Documize Inc. <legal@documize.com>. All rights reserved.
//
// This software (Documize Community Edition) is licensed under
// GNU AGPL v3 http://www.gnu.org/licenses/agpl-3.0.en.html
//
// You can operate outside the AGPL restrictions by purchasing
// Documize Enterprise Edition and obtaining a commercial license
// by contacting <sales@documize.com>.
//
// https://documize.com
import { test } from 'qunit';
import moduleForAcceptance from 'documize/tests/helpers/module-for-acceptance';
moduleForAcceptance('Acceptance | Authentication');
test('visiting /auth/login and logging in', function (assert) {
server.create('meta', { allowAnonymousAccess: false });
server.createList('folder', 2);
visit('/auth/login');
fillIn('#authEmail', 'brizdigital@gmail.com');
fillIn('#authPassword', 'zinyando123');
click('button');
andThen(function () {
assert.equal(currentURL(), '/s/VzMuyEw_3WqiafcG/my-project', 'Login successful');
});
});
test('logging out a user', function (assert) {
server.create('meta', { allowAnonymousAccess: false });
server.createList('folder', 2);
userLogin();
visit('/auth/logout');
andThen(function () {
assert.equal(currentURL(), '/auth/login', 'Logging out successful');
});
});
test('successful sso login authenticates redirects to dashboard', function (assert) {
server.create('meta', { allowAnonymousAccess: false });
server.createList('folder', 2);
visit('/auth/sso/OmJyaXpkaWdpdGFsQGdtYWlsLmNvbTp6aW55YW5kbzEyMw==');
andThen(function () {
assert.equal(currentURL(), '/s/VzMuyEw_3WqiafcG/my-project', 'SSO login successful');
});
});
test('sso login with bad token should redirect to login', function (assert) {
server.create('meta', { allowAnonymousAccess: false });
server.createList('folder', 2);
visit('/auth/sso/randomToken1234567890');
andThen(function () {
assert.equal(currentURL(), '/auth/login', 'SSO login unsuccessful');
});
});

View file

@ -0,0 +1,206 @@
// Copyright 2016 Documize Inc. <legal@documize.com>. All rights reserved.
//
// This software (Documize Community Edition) is licensed under
// GNU AGPL v3 http://www.gnu.org/licenses/agpl-3.0.en.html
//
// You can operate outside the AGPL restrictions by purchasing
// Documize Enterprise Edition and obtaining a commercial license
// by contacting <sales@documize.com>.
//
// https://documize.com
import { test, skip } from 'qunit';
import moduleForAcceptance from 'documize/tests/helpers/module-for-acceptance';
moduleForAcceptance('Acceptance | Documents space');
skip('Adding a new folder space', function (assert) {
server.create('meta', { allowAnonymousAccess: false });
server.createList('folder', 2);
server.createList('permission', 4);
authenticateUser();
visit('/s/VzMuyEw_3WqiafcG/my-project');
andThen(function () {
let personalSpaces = find('.section div:contains(PERSONAL)').length;
assert.equal(currentURL(), '/s/VzMuyEw_3WqiafcG/my-project');
assert.equal(personalSpaces, 1, '1 personal space is listed');
});
click('#add-folder-button');
fillIn('#new-folder-name', 'body', 'Test Folder');
click('.actions div:contains(Add)', 'body');
andThen(function () {
assert.equal(currentURL(), '/s/V0Vy5Uw_3QeDAMW9/test-folder');
});
});
skip('Adding a document to a space', function (assert) {
server.create('meta', { allowAnonymousAccess: false });
server.createList('folder', 2);
server.createList('permission', 4);
authenticateUser();
visit('/s/VzMuyEw_3WqiafcG/my-project');
andThen(function () {
let numberOfDocuments = find('.documents-list li').length;
assert.equal(currentURL(), '/s/VzMuyEw_3WqiafcG/my-project');
assert.equal(numberOfDocuments, 2, '2 documents listed');
});
click('#start-document-button');
click('.actions div:contains(Add)', 'body');
andThen(function () {
let numberOfDocuments = find('.documents-list li').length;
assert.equal(numberOfDocuments, 3, '3 documents listed');
assert.equal(currentURL(), '/s/VzMuyEw_3WqiafcG/my-project');
});
});
test('visiting space settings page', function (assert) {
server.create('meta', { allowAnonymousAccess: false });
server.createList('folder', 2);
server.createList('permission', 4);
authenticateUser();
visit('/s/VzMuyEw_3WqiafcG/my-project');
click('#folder-settings-button');
andThen(function () {
checkForCommonAsserts();
assert.equal(find('#folderName').val().trim(), 'My Project', 'Space name displayed in input box');
assert.equal(currentURL(), '/s/VzMuyEw_3WqiafcG/my-project/settings');
});
});
test('changing space name', function (assert) {
server.create('meta', { allowAnonymousAccess: false });
server.createList('folder', 2);
server.createList('permission', 4);
authenticateUser();
visit('/s/VzMuyEw_3WqiafcG/my-project');
click('#folder-settings-button');
fillIn('#folderName', 'Test Space');
click('.button-blue');
andThen(function () {
let spaceName = find('.info .title').text().trim();
checkForCommonAsserts();
assert.equal(spaceName, 'Test Space', 'Space name has been changed');
assert.equal(currentURL(), '/s/VzMuyEw_3WqiafcG/my-project/settings');
});
});
test('sharing a space', function (assert) {
server.create('meta', { allowAnonymousAccess: false });
server.createList('folder', 2);
server.createList('permission', 4);
authenticateUser();
visit('/s/VzMuyEw_3WqiafcG/my-project');
click('#folder-settings-button');
click(('.sidebar-menu .options li:contains(Share)'));
fillIn('#inviteEmail', 'share-test@gmail.com');
click('.button-blue');
andThen(function () {
checkForCommonAsserts();
assert.equal(currentURL(), '/s/VzMuyEw_3WqiafcG/my-project/settings');
});
});
// Test will pass after moving to factories
test('changing space permissions', function (assert) {
server.create('meta', { allowAnonymousAccess: false });
server.createList('folder', 2);
server.createList('permission', 4);
authenticateUser();
visit('/s/VzMygEw_3WrtFzto/test');
andThen(function () {
let numberOfPublicFolders = find('.sidebar-menu .folders-list .section .list:first a').length;
assert.equal(numberOfPublicFolders, 1, '1 folder listed as public');
assert.equal(currentURL(), '/s/VzMygEw_3WrtFzto/test');
});
click('#folder-settings-button');
click('.sidebar-menu .options li:contains(Permissions)');
click('tr:contains(Everyone) #canView-');
click('tr:contains(Everyone) #canEdit-');
click('.button-blue');
visit('/s/VzMygEw_3WrtFzto/test');
andThen(function () {
let numberOfPublicFolders = find('.folders-list div:contains(EVERYONE) .list a').length;
assert.equal(numberOfPublicFolders, 2, '2 folder listed as public');
assert.equal(currentURL(), '/s/VzMygEw_3WrtFzto/test');
});
});
test('deleting a space', function (assert) {
server.create('meta', { allowAnonymousAccess: false });
server.createList('folder', 2);
server.createList('permission', 4);
authenticateUser();
visit('/s/VzMuyEw_3WqiafcG/my-project');
click('#folder-settings-button');
click('.sidebar-menu .options li:contains(Delete)');
andThen(function () {
checkForCommonAsserts();
assert.equal(currentURL(), '/s/VzMuyEw_3WqiafcG/my-project/settings');
});
});
skip('deleting a document', function (assert) {
server.create('meta', { allowAnonymousAccess: false });
server.createList('folder', 2);
server.createList('permission', 4);
authenticateUser();
visit('/s/VzMuyEw_3WqiafcG/my-project');
andThen(function () {
let deleteButton = find('#delete-documents-button');
let numberOfDocuments = find('.documents-list li');
assert.equal(numberOfDocuments.length, 2, '2 documents are displayed');
assert.equal(deleteButton.length, 0, 'Delete button not displayed');
});
click('.documents-list li:first .checkbox');
andThen(function () {
let deleteButton = find('#delete-documents-button');
assert.equal(deleteButton.length, 1, 'Delete button displayed after selecting document');
});
click('#delete-documents-button');
waitToAppear('.drop-content');
click('.actions div:contains(Delete)', 'body');
andThen(function () {
let numberOfDocuments = find('.documents-list li');
assert.equal(numberOfDocuments.length, 1, '1 documents is displayed');
});
});
function checkForCommonAsserts() {
findWithAssert('.sidebar-menu');
findWithAssert('.options li:contains(General)');
findWithAssert('.options li:contains(Share)');
findWithAssert('.options li:contains(Permissions)');
findWithAssert('.options li:contains(Delete)');
}

View file

@ -0,0 +1,52 @@
// Copyright 2016 Documize Inc. <legal@documize.com>. All rights reserved.
//
// This software (Documize Community Edition) is licensed under
// GNU AGPL v3 http://www.gnu.org/licenses/agpl-3.0.en.html
//
// You can operate outside the AGPL restrictions by purchasing
// Documize Enterprise Edition and obtaining a commercial license
// by contacting <sales@documize.com>.
//
// https://documize.com
import { test } from 'qunit';
import moduleForAcceptance from 'documize/tests/helpers/module-for-acceptance';
moduleForAcceptance('Acceptance | user profile');
test('visiting /profile', function (assert) {
server.createList('folder', 2);
authenticateUser();
visit('/profile');
andThen(function () {
assert.equal(currentURL(), '/profile');
assert.equal(find('#firstname').val(), 'Lennex', 'Firstaname input displays correct value');
assert.equal(find('#lastname').val(), 'Zinyando', 'Lastname input displays correct value');
assert.equal(find('#email').val(), 'brizdigital@gmail.com', 'Email input displays correct value');
});
});
test('changing user details and email ', function (assert) {
server.createList('folder', 2);
authenticateUser();
visit('/profile');
andThen(function () {
assert.equal(currentURL(), '/profile');
assert.equal(find('.content .name').text().trim(), 'Lennex Zinyando', 'Profile name displayed');
assert.equal(find('#firstname').val(), 'Lennex', 'Firstaname input displays correct value');
assert.equal(find('#lastname').val(), 'Zinyando', 'Lastname input displays correct value');
assert.equal(find('#email').val(), 'brizdigital@gmail.com', 'Email input displays correct value');
});
fillIn('#firstname', 'Test');
fillIn('#lastname', 'User');
fillIn('#email', 'test.user@domain.com');
click('.button-blue');
andThen(function () {
assert.equal(currentURL(), '/s/VzMuyEw_3WqiafcG/my-project');
assert.equal(find('.content .name').text().trim(), 'Test User', 'Profile name displayed');
});
});

View file

@ -0,0 +1,110 @@
// Copyright 2016 Documize Inc. <legal@documize.com>. All rights reserved.
//
// This software (Documize Community Edition) is licensed under
// GNU AGPL v3 http://www.gnu.org/licenses/agpl-3.0.en.html
//
// You can operate outside the AGPL restrictions by purchasing
// Documize Enterprise Edition and obtaining a commercial license
// by contacting <sales@documize.com>.
//
// https://documize.com
import { test } from 'qunit';
import moduleForAcceptance from 'documize/tests/helpers/module-for-acceptance';
moduleForAcceptance('Acceptance | User Settings');
test('visiting /settings/general', function (assert) {
server.create('meta', { allowAnonymousAccess: false });
authenticateUser();
visit('/settings/general');
andThen(function () {
assert.equal(currentURL(), '/settings/general');
assert.equal(find('#siteTitle').val(), 'EmberSherpa', 'Website title input is filled in correctly');
assert.equal(find('textarea').val(), 'This Documize instance contains all our team documentation', 'Message is set correctly');
assert.equal(find('#allowAnonymousAccess').is(':checked'), false, 'Allow anonymouus checkbox is unchecked');
});
});
test('changing the Website title and description', function (assert) {
server.create('meta', { allowAnonymousAccess: false });
authenticateUser();
visit('/settings/general');
andThen(function () {
let websiteTitle = find('.content .title').text().trim();
let websiteTitleInput = find('#siteTitle').val();
assert.equal(websiteTitleInput, websiteTitle, 'Website title is set to EmberSherpa');
});
fillIn('#siteTitle', 'Documize Tests');
click('.button-blue');
andThen(function () {
let websiteTitle = find('.content .title').text().trim();
let websiteTitleInput = find('#siteTitle').val();
assert.equal(websiteTitleInput, websiteTitle, 'Website title is set to Documize Tests');
});
});
test('visiting /settings/folders', function (assert) {
server.create('meta', { allowAnonymousAccess: false });
authenticateUser();
visit('/settings/folders');
andThen(function () {
checkForCommonAsserts();
assert.equal(currentURL(), '/settings/folders');
});
});
test('visiting /settings/users', function (assert) {
server.create('meta', { allowAnonymousAccess: false });
authenticateUser();
visit('/settings/users');
andThen(function () {
checkForCommonAsserts();
findWithAssert('.user-list');
let numberOfUsers = find('.user-list tr').length;
assert.equal(numberOfUsers, 3, '2 Users listed');
assert.equal(currentURL(), '/settings/users');
});
});
test('add a new user', function (assert) {
server.create('meta', { allowAnonymousAccess: false });
authenticateUser();
visit('/settings/users');
andThen(function () {
checkForCommonAsserts();
findWithAssert('.user-list');
let numberOfUsers = find('.user-list tr').length;
assert.equal(numberOfUsers, 3, '2 Users listed');
assert.equal(currentURL(), '/settings/users');
});
fillIn('#newUserFirstname', 'Test');
fillIn('#newUserLastname', 'User');
fillIn('#newUserEmail', 'test.user@domain.com');
click('.button-blue');
// waitToAppear('.user-notification:contains(Added)');
// waitToDisappear('.user-notification:contains(Added)');
andThen(function () {
let numberOfUsers = find('.user-list tr').length;
assert.equal(numberOfUsers, 4, '3 Users listed');
assert.equal(currentURL(), '/settings/users');
});
});
function checkForCommonAsserts() {
findWithAssert('.sidebar-menu');
findWithAssert('#user-button');
findWithAssert('#accounts-button');
findWithAssert('.info .title');
}