View Javadoc
1   /*
2    * Copyright (c) 2002-2017, Mairie de Paris
3    * All rights reserved.
4    *
5    * Redistribution and use in source and binary forms, with or without
6    * modification, are permitted provided that the following conditions
7    * are met:
8    *
9    *  1. Redistributions of source code must retain the above copyright notice
10   *     and the following disclaimer.
11   *
12   *  2. Redistributions in binary form must reproduce the above copyright notice
13   *     and the following disclaimer in the documentation and/or other materials
14   *     provided with the distribution.
15   *
16   *  3. Neither the name of 'Mairie de Paris' nor 'Lutece' nor the names of its
17   *     contributors may be used to endorse or promote products derived from
18   *     this software without specific prior written permission.
19   *
20   * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21   * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22   * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23   * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE
24   * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
25   * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
26   * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
27   * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28   * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
29   * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
30   * POSSIBILITY OF SUCH DAMAGE.
31   *
32   * License 1.0
33   */
34  
35  package fr.paris.lutece.plugins.transparency.business;
36  
37  import fr.paris.lutece.test.LuteceTestCase;
38  
39  import java.sql.Date;
40  import java.util.Calendar;
41  import org.apache.commons.lang.time.DateUtils;
42  
43  public class AppointmentBusinessTest extends LuteceTestCase
44  {
45      private final static String TITLE1 = "Title1";
46      private final static String TITLE2 = "Title2";
47      private final static String DESCRIPTION1 = "Description1";
48      private final static String DESCRIPTION2 = "Description2";
49      private final static Date STARTDATE1 = new Date( 1000000l );
50      private final static Date STARTDATE2 = new Date( 2000000l );
51      private final static Date ENDDATE1 = new Date( 1000000l );
52      private final static Date ENDDATE2 = new Date( 2000000l );
53      private final static int TYPEID1 = 1;
54      private final static int TYPEID2 = 2;
55      private final static String TYPELABEL1 = "TypeLabel1";
56      private final static String TYPELABEL2 = "TypeLabel2";
57      private final static String URL1 = "Url1";
58      private final static String URL2 = "Url2";
59  
60      public void testBusiness( )
61      {
62          // Initialize an object
63          Appointment appointment = new Appointment( );
64          appointment.setTitle( TITLE1 );
65          appointment.setDescription( DESCRIPTION1 );
66          appointment.setStartDate( STARTDATE1 );
67          appointment.setEndDate( ENDDATE1 );
68          appointment.setTypeId( TYPEID1 );
69          appointment.setTypeLabel( TYPELABEL1 );
70          appointment.setUrl( URL1 );
71  
72          // Create test
73          AppointmentHome.create( appointment );
74          Appointment appointmentStored = AppointmentHome.findByPrimaryKey( appointment.getId( ) );
75          assertEquals( appointmentStored.getTitle( ), appointment.getTitle( ) );
76          assertEquals( appointmentStored.getDescription( ), appointment.getDescription( ) );
77          assertEquals( DateUtils.truncate(appointmentStored.getStartDate( ),Calendar.DATE),
78               DateUtils.truncate(appointment.getStartDate( ),Calendar.DATE) );
79          assertEquals( DateUtils.truncate(appointmentStored.getEndDate( ),Calendar.DATE),
80               DateUtils.truncate(appointment.getEndDate( ),Calendar.DATE) );
81          assertEquals( appointmentStored.getTypeId( ), appointment.getTypeId( ) );
82          assertEquals( appointmentStored.getTypeLabel( ), appointment.getTypeLabel( ) );
83          assertEquals( appointmentStored.getUrl( ), appointment.getUrl( ) );
84  
85          // Update test
86          appointment.setTitle( TITLE2 );
87          appointment.setDescription( DESCRIPTION2 );
88          appointment.setStartDate( STARTDATE2 );
89          appointment.setEndDate( ENDDATE2 );
90          appointment.setTypeId( TYPEID2 );
91          appointment.setTypeLabel( TYPELABEL2 );
92          appointment.setUrl( URL2 );
93          AppointmentHome.update( appointment );
94          appointmentStored = AppointmentHome.findByPrimaryKey( appointment.getId( ) );
95          assertEquals( appointmentStored.getTitle( ), appointment.getTitle( ) );
96          assertEquals( appointmentStored.getDescription( ), appointment.getDescription( ) );
97          assertEquals( DateUtils.truncate(appointmentStored.getStartDate( ),Calendar.DATE),
98               DateUtils.truncate(appointment.getStartDate( ),Calendar.DATE) );
99          assertEquals( DateUtils.truncate(appointmentStored.getEndDate( ),Calendar.DATE),
100              DateUtils.truncate(appointment.getEndDate( ),Calendar.DATE) );
101         assertEquals( appointmentStored.getTypeId( ), appointment.getTypeId( ) );
102         assertEquals( appointmentStored.getTypeLabel( ), appointment.getTypeLabel( ) );
103         assertEquals( appointmentStored.getUrl( ), appointment.getUrl( ) );
104 
105         // List test
106         AppointmentHome.getAppointmentsList( );
107 
108         // Delete test
109         AppointmentHome.remove( appointment.getId( ) );
110         appointmentStored = AppointmentHome.findByPrimaryKey( appointment.getId( ) );
111         assertNull( appointmentStored );
112 
113     }
114 
115 }