/* * This file is part of LibrePlan * * Copyright (C) 2011 Igalia, S.L. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . */ /* Included tests * * 1 - Create a new Account * 2 - Create other user with same password * 3 - Do a login with this new Account * 4 - Check the role * 5 - Create a Account with duplicate type (it should be a failure) * 6 - Create a Account with empty type (it should be a failure) * 7 - Create a new Account with two different passwords (it should be a failure) * 8 - Edit a Account * 9 - Do a login with this new Account * 10 - Check the role * 11 - Check the no user no pass * 12 - Check pass without user * 13 - Check the user no pass * 14 - Check fake pass and user * 15 - Delete both Accounts * */ _include("../common_functions.sah"); function accountsCreate($name, $password) { commonCreate("Accounts"); accountsForm($name, $password); commonSaveValidation("User", $name); _log("Create a new Account", "custom1"); } function accountsCreateTwoUserSamePass($name, $password) { commonCreate("Accounts"); accountsForm($name, $password); commonSaveValidation("User", $name); _log("Create a new Account same password", "custom1"); } function accountsCreateDuplicateType($name, $password) { commonCreate("Accounts"); accountsForm($name, $password); accountsNotValid($name); _log("Do not allow create an Account Duplicate", "custom1"); } function accountsCreateEmpty($name, $password) { commonCreate("Accounts"); accountsForm($name, $password); _assertExists(_div("cannot be null or empty")); _assert(_isVisible(_div("cannot be null or empty"))); _log("Do not allow create a Account with empty Name", "custom1"); } function accountsCreateTwoUserSamePass($name, $password) { commonCreate("Accounts"); accountsForm($name, $password); commonSaveValidation("User", $name); _log("Create a new Account same password", "custom1"); } function accountsCreateTwoPass($name, $password, $newPassword){ commonCreate("Accounts"); _setValue(_textbox(0, _near(_span("Login name"))), $name); _setValue(_password(0, _near(_span("Password"))), $password); _setValue(_password(0, _near(_span("Password confirmation"))), $newPassword); _click(_cell("Save")); _assertExists(_div("passwords don't match")); _assert(_isVisible(_div("passwords don't match"))); _log("Create a new Account with two diferent passwords", "custom1"); } function accountsForm($name, $password) { _setValue(_textbox(0, _near(_span("Login name"))), $name); _setValue(_password(0, _near(_span("Password"))), $password); _setValue(_password(0, _near(_span("Password confirmation"))), $password); _click(_cell("Save")); } /* test to check a that LibrePlan give us a error */ function accountsNotValid(){ _assertExists(_span("checkConstraintUniqueLoginName: login name is already being used by another user")); _assert(_isVisible(_span("checkConstraintUniqueLoginName: login name is already being used by another user"))); } function accountsComprobateUser($name, $Password) { commonLogout(); commonLogin($name, $Password); } function accountsEdit($oldName, $newName, $newPassword, $cell) { _click(_link("Accounts")); commonEdit($oldName, $cell); _setValue(_textbox(0, _near(_span("Login name"))), $newName); _setValue(_password(0, _near(_span("Password"))), $newPassword); _setValue(_password(0, _near(_span("Password confirmation"))), $newPassword); _click(_textbox(0, _near(_cell("Add role")))); _click(_cell("Administration")); _click(_cell("Add role")); _click(_cell("Save")); commonSaveValidation("User", $newName); } function accountsComprobateNoUser($name, $Password){ commonLogin($name, $Password); } function accountsNoAdmin(){ _assertNotExists(_link("Accounts")); _assertNull(_link("Accounts")); } function accountsAdminYes(){ _assertExists(_link("Accounts")); } function accountsNoValidationLogin(){ _assertExists(_div("Incorrect authentication")); _assert(_isVisible(_div("Incorrect authentication"))); } /* test values */ var $user = "new"; var $user2 = "same pass"; var $newUser = "newest"; var $password = "1234"; var $newPassword = "2222"; var $fakeUser = "fake street"; var $fakePassword = "123"; /* test actions */ commonLogin("admin", "admin"); accountsCreate($user, $password); accountsCreateTwoUserSamePass($user2, $newPassword); accountsComprobateUser($user, $password); accountsNoAdmin(); accountsComprobateUser("admin", "admin"); _log("Comprobate Account without Administration rights", "custom1"); accountsCreateDuplicateType($user, $password); accountsCreateEmpty("", $password); accountsCreateTwoPass($user, $password, $newPassword); accountsEdit($user, $newUser, $newPassword, 4); accountsComprobateUser( $newUser, $newPassword); accountsAdminYes(); _log("Comprobate Account with Administrator rights", "custom1"); accountsComprobateUser("", ""); accountsNoValidationLogin(); _log("Comprobate Account without name and pass", "custom1"); accountsComprobateNoUser("", $fakePassword); accountsNoValidationLogin(); _log("Comprobate Account without name", "custom1"); accountsComprobateNoUser($newUser, ""); accountsNoValidationLogin(); _log("Comprobate Account without password", "custom1"); commonLogin($fakeUser, $fakePassword); accountsNoValidationLogin(); _log("Comprobate Account with fake user and password", "custom1"); commonLogin("admin", "admin"); commonDelete("Accounts", $newUser, 4); commonDeleteValidation("User", $newUser); _log("Delete an Account Duplicate", "custom1"); commonDelete("Accounts", $user2, 4); commonDeleteValidation("User", $user2); _log("Delete an Account Duplicate", "custom1"); commonLogout();