2011-09-06 12:30:58 +02:00
|
|
|
/*
|
2011-10-28 08:17:54 +02:00
|
|
|
* This file is part of LibrePlan
|
2011-09-06 12:30:58 +02:00
|
|
|
*
|
2012-07-17 11:10:55 +02:00
|
|
|
* Copyright (C) 2011-2012 Igalia, S.L.
|
2011-09-06 12:30:58 +02:00
|
|
|
*
|
|
|
|
|
* 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 <http://www.gnu.org/licenses/>.
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
/* Included tests
|
|
|
|
|
*
|
|
|
|
|
* 1 - Create a Company
|
|
|
|
|
* 2 - Create a project
|
|
|
|
|
* 3 - Create a task
|
|
|
|
|
* 4 - Create a subcontract and assign the company like subcontractor
|
|
|
|
|
* 5 - Send the task
|
2011-09-08 13:31:59 +02:00
|
|
|
* 6 - Assign a progress to a subcontracted task
|
2011-09-06 12:30:58 +02:00
|
|
|
* 7 - Send the progress
|
|
|
|
|
* 8 - Check that the progress was send
|
|
|
|
|
* 9 - Delete all required elements
|
|
|
|
|
*
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
_include("../common_functions.sah");
|
|
|
|
|
|
|
|
|
|
function subcontractingAssignTask($company){
|
|
|
|
|
subcontractingGoToTaskForSubcontractSinceProjectDetails();
|
|
|
|
|
subcontractingTaskForSubcontractForm($company, $subProjectName);
|
|
|
|
|
_log("Assign the task to a Company", "custom1");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function subcontractingGoToTaskForSubcontractSinceProjectDetails(){
|
|
|
|
|
_click(_cell("Project Scheduling"));
|
|
|
|
|
_doubleClick(_div("box standard-task yui-resize unassigned"));
|
|
|
|
|
_click(_span("Task properties"));
|
|
|
|
|
_setSelected(_select(0, _near(_span("Resource allocation type"))), "Subcontract")
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function subcontractingTaskForSubcontractForm($company, $subProjectName){
|
|
|
|
|
_setValue(_textbox(0, _near(_span("External company"))), $company);
|
|
|
|
|
_setValue(_textbox(0, _near(_span("Work description "))), $subProjectName);
|
|
|
|
|
_setValue(_textbox(0, _near(_span("Subcontract price"))), "6000");
|
2012-07-18 13:45:13 +02:00
|
|
|
_setValue(_textbox(0, _near(_span("Subcontracting code"))), $companyId);
|
2011-09-06 12:30:58 +02:00
|
|
|
_click(_checkbox(0, _near(_span("Hours groups"))));
|
2011-11-18 17:47:47 +01:00
|
|
|
_click(_row("Accept[2]"));
|
2011-09-06 12:30:58 +02:00
|
|
|
_click(_image("ico_save.png"));
|
|
|
|
|
_click(_cell("OK"));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function subcontractingSendTask(){
|
2012-07-18 13:45:13 +02:00
|
|
|
_click(_link("Send To Subcontractors"));
|
2011-09-06 12:30:58 +02:00
|
|
|
_click(_cell("Send"))
|
|
|
|
|
subcontractingSendSubValidation();
|
|
|
|
|
_log("Task was sent", "custom1");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function subcontractingReportTask($projectName, $progressName){
|
|
|
|
|
commonProgressAssignProject($projectName, $progressName);
|
2012-07-18 13:45:13 +02:00
|
|
|
_click(_link("Send To Customers"));
|
2011-09-06 12:30:58 +02:00
|
|
|
_click(_cell("Send"));
|
|
|
|
|
subcontractingSendProgressValidation();
|
|
|
|
|
_log("Progress was sent", "custom1");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function subcontractingCheckAssignedProgress($projectName){
|
|
|
|
|
commonEditProject($projectName);
|
|
|
|
|
_click(_span("Progress"));
|
|
|
|
|
_assertExists(_span("30.00 %"));
|
|
|
|
|
_assert(_isVisible(_span("30.00 %")));
|
|
|
|
|
_log("Progress was assigned", "custom1");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function subcontractingDeleteAllRequiredElements(){
|
|
|
|
|
commonDeleteProject($projectName);
|
2012-07-17 11:10:55 +02:00
|
|
|
_click(_link("Projects"));
|
2011-09-06 12:30:58 +02:00
|
|
|
_click(_image("ico_borrar1.png", _in(_cell(8, _near(_cell($subProjectName))))));
|
|
|
|
|
_click(_cell("OK"));
|
|
|
|
|
subcontractingDeleteValidation();
|
|
|
|
|
_click(_cell("OK"));
|
|
|
|
|
_assertExists(_div("Removed "+$subProjectName));
|
|
|
|
|
_assert(_isVisible(_div("Removed "+$subProjectName)));
|
|
|
|
|
commonCompanyDelete($companyName);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Validations
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
function subcontractingSendSubValidation(){
|
|
|
|
|
_assertExists(_span("Subcontracted task sent successfully"));
|
|
|
|
|
_assert(_isVisible(_span("Subcontracted task sent successfully")));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function subcontractingSendProgressValidation(){
|
|
|
|
|
_assertExists(_span("Progress sent successfully"));
|
|
|
|
|
_assert(_isVisible(_span("Progress sent successfully")));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function subcontractingDeleteValidation(){
|
2012-07-18 13:45:13 +02:00
|
|
|
_assertExists(_span("This project is a subcontracted project. If you delete it, you won't be able to report progress anymore. Are you sure?"));
|
|
|
|
|
_assert(_isVisible(_span("This project is a subcontracted project. If you delete it, you won't be able to report progress anymore. Are you sure?")));
|
2011-09-06 12:30:58 +02:00
|
|
|
}
|
|
|
|
|
/* test values */
|
|
|
|
|
var $companyName = "subcompany";
|
|
|
|
|
var $companyId = "COMPANY_CODE";
|
|
|
|
|
var $projectName = "projectToBeSubcontrated";
|
|
|
|
|
var $subProjectName = "SomeDescription";
|
|
|
|
|
var $taskName = "taskforsubcontract";
|
|
|
|
|
var $taskHour = "100";
|
|
|
|
|
var $progressName = "Subcontractor";
|
|
|
|
|
|
|
|
|
|
/* test actions */
|
|
|
|
|
commonLogin("admin", "admin");
|
|
|
|
|
|
|
|
|
|
commonCompanyCreate($companyName, $companyId);
|
|
|
|
|
commonCreateProject($projectName);
|
|
|
|
|
commonCreateTask($projectName, $taskName, $taskHour);
|
|
|
|
|
subcontractingAssignTask($companyName, $subProjectName);
|
|
|
|
|
subcontractingSendTask();
|
|
|
|
|
subcontractingReportTask($subProjectName, $progressName);
|
|
|
|
|
subcontractingCheckAssignedProgress($projectName);
|
|
|
|
|
subcontractingDeleteAllRequiredElements();
|
|
|
|
|
commonLogout();
|