Tim-connector: Test for ExportTimesheetsToTim
This commit is contained in:
parent
58fa93da0e
commit
3a9b3bada4
1 changed files with 132 additions and 0 deletions
|
|
@ -0,0 +1,132 @@
|
|||
/*
|
||||
* This file is part of LibrePlan
|
||||
*
|
||||
* Copyright (C) 2013 St. Antoniusziekenhuis
|
||||
*
|
||||
* 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/>.
|
||||
*/
|
||||
|
||||
package importers;
|
||||
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
import java.io.FileInputStream;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Properties;
|
||||
|
||||
import org.joda.time.LocalDate;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.libreplan.importers.ExportTimesheetsToTim;
|
||||
import org.libreplan.importers.TimSoapClient;
|
||||
import org.libreplan.importers.tim.Duration;
|
||||
import org.libreplan.importers.tim.Person;
|
||||
import org.libreplan.importers.tim.Product;
|
||||
import org.libreplan.importers.tim.RegistrationDate;
|
||||
import org.libreplan.importers.tim.TimOptions;
|
||||
import org.libreplan.importers.tim.TimeRegistration;
|
||||
import org.libreplan.importers.tim.TimeRegistrationRequest;
|
||||
import org.libreplan.importers.tim.TimeRegistrationResponse;
|
||||
|
||||
/**
|
||||
* Test for {@link ExportTimesheetsToTim}
|
||||
*
|
||||
* @author Miciele Ghiorghis <m.ghiorghis@antoniusziekenhuis.nl>
|
||||
*/
|
||||
public class ExportTimesheetsToTimTest {
|
||||
|
||||
private Properties properties = null;
|
||||
|
||||
@Before
|
||||
public void loadProperties() throws FileNotFoundException, IOException {
|
||||
String filename = System.getProperty("user.dir")
|
||||
+ "/../scripts/tim-connector/tim-conn.properties";
|
||||
properties = new Properties();
|
||||
properties.load(new FileInputStream(filename));
|
||||
}
|
||||
|
||||
private TimeRegistration createTimeRegistration(String name,
|
||||
String productCode, LocalDate localDate, Double hours) {
|
||||
Person person = new Person();
|
||||
// person.setEmailAddress("j.baten@antoniusziekenhuis.nl");
|
||||
person.setName(name);
|
||||
// person.setNetworkName("j.baten");
|
||||
person.setOptions(TimOptions.UPDATE_OR_INSERT);
|
||||
|
||||
Product product = new Product();
|
||||
product.setOptions(TimOptions.UPDATE_OR_INSERT);
|
||||
product.setCode(productCode);
|
||||
|
||||
RegistrationDate date = new RegistrationDate();
|
||||
date.setOptions(TimOptions.UPDATE_OR_INSERT);
|
||||
date.setDate(localDate);
|
||||
|
||||
Duration duration = new Duration();
|
||||
duration.setOptions(TimOptions.DECIMAL);
|
||||
duration.setDuration(hours);
|
||||
|
||||
TimeRegistration timeRegistration = new TimeRegistration();
|
||||
timeRegistration.setPerson(person);
|
||||
timeRegistration.setProduct(product);
|
||||
timeRegistration.setRegistrationDate(date);
|
||||
timeRegistration.setDuration(duration);
|
||||
return timeRegistration;
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testExporttTimeRegistrationWith1Item() {
|
||||
List<TimeRegistration> timeRegistrations = new ArrayList<TimeRegistration>();
|
||||
TimeRegistration timeRegistration = createTimeRegistration(
|
||||
"Baten, Jeroen", "5160", new LocalDate().minusDays(1),
|
||||
9.00);
|
||||
timeRegistrations.add(timeRegistration);
|
||||
TimeRegistrationRequest timeRegistrationRequest = new TimeRegistrationRequest();
|
||||
timeRegistrationRequest.setTimeRegistrations(timeRegistrations);
|
||||
|
||||
TimeRegistrationResponse timeRegistrationResponse = TimSoapClient
|
||||
.sendRequestReceiveResponse(properties.getProperty("url"),
|
||||
properties.getProperty("username"),
|
||||
properties.getProperty("password"),
|
||||
timeRegistrationRequest,
|
||||
TimeRegistrationResponse.class);
|
||||
assertTrue(!timeRegistrationResponse.getRefs().isEmpty());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testExportTimeRegistrationWith2Items() {
|
||||
List<TimeRegistration> timeRegistrations = new ArrayList<TimeRegistration>();
|
||||
TimeRegistration timeRegistration1 = createTimeRegistration(
|
||||
"Baten, Jeroen", "5160", new LocalDate(),
|
||||
8.00);
|
||||
timeRegistrations.add(timeRegistration1);
|
||||
|
||||
TimeRegistration timeRegistration2 = createTimeRegistration(
|
||||
"Baten, Jeroen", "5160", new LocalDate(), 9.00);
|
||||
timeRegistrations.add(timeRegistration2);
|
||||
|
||||
TimeRegistrationRequest timeRegistrationRequest = new TimeRegistrationRequest();
|
||||
timeRegistrationRequest.setTimeRegistrations(timeRegistrations);
|
||||
|
||||
TimeRegistrationResponse timeRegistrationResponse = TimSoapClient
|
||||
.sendRequestReceiveResponse(properties.getProperty("url"),
|
||||
properties.getProperty("username"),
|
||||
properties.getProperty("password"),
|
||||
timeRegistrationRequest, TimeRegistrationResponse.class);
|
||||
assertTrue(!timeRegistrationResponse.getRefs().isEmpty());
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Add table
Reference in a new issue