55 lines
2.6 KiB
Python
55 lines
2.6 KiB
Python
# -*- coding: utf-8 -*-
|
|
import unittest
|
|
from datetime import datetime, timedelta
|
|
from trac.util.datefmt import utc, to_timestamp
|
|
from trac.test import EnvironmentStub, Mock
|
|
from trac.search.api import *
|
|
from tracrendezvous.event.model import Event, EventModelProvider
|
|
from tracrendezvous.location.model import ItemLocation, LocationModelProvider
|
|
|
|
class EventTestCase(unittest.TestCase):
|
|
def setUp(self):
|
|
self.env = EnvironmentStub(default_data=True, enable=['trac.*', 'tracrendezvous.*'])
|
|
l = EventModelProvider(self.env).environment_created()
|
|
l2 = LocationModelProvider(self.env).environment_created()
|
|
loc1 = ItemLocation(self.env, 0, u"CTDO, Langer August", "N", 51, 31, 39.4, "E", 7, 27, 53.8, 51.527611, 7.464922)
|
|
loc1.commit()
|
|
self.created = datetime.now(utc)
|
|
self.created = self.created.replace(microsecond=0)
|
|
self.time_begin = datetime(2009, 3, 1, 17, 30, tzinfo=utc)
|
|
self.time_end = datetime(2009, 3, 1, 22, 30, tzinfo=utc)
|
|
loc1 = Event(self.env, 0, "name", self.created, self.created, self.time_begin, self.time_end, 1, initial_e_id=0, tags="a b c", attendees="a b c", is_periodic=True, wikipage="foobar")
|
|
loc1.commit()
|
|
|
|
def test_1_commit(self):
|
|
self.env.get_db_cnx().cursor().execute("select name from events;").fetchall()
|
|
|
|
def test_2_fetch_one(self):
|
|
event = Event.fetch_one(self.env, 1)
|
|
self.assertEqual(1, event.e_id)
|
|
self.assertEqual(u"name", event.name)
|
|
self.assertEqual(self.created, event.time_created)
|
|
self.assertEqual(self.created, event.time_modified)
|
|
self.assertEqual(self.time_begin, event.time_begin)
|
|
self.assertEqual(self.time_begin, event.time_begin)
|
|
self.assertEqual(self.time_end, event.time_end)
|
|
self.assertEqual(1, event.location_id)
|
|
self.assertEqual(0, event.initial_e_id)
|
|
self.assertEqual("a b c", event.tags)
|
|
self.assertEqual("a b c", event.attendees)
|
|
self.assertEqual(True, event.is_periodic)
|
|
self.assertEqual("foobar", event.wikipage)
|
|
|
|
def test_3_exists(self):
|
|
self.assertEqual(True, Event.exists(self.env, 1, self.time_begin, self.time_end))
|
|
self.assertEqual(False, Event.exists(self.env, 1, datetime(2009,4,1,17,20,tzinfo=utc), datetime(2009,3,1,17,20,tzinfo=utc)))
|
|
self.assertEqual(False, Event.exists(self.env, 1, datetime(2009,3,1,17,20,tzinfo=utc), datetime(2009,4,1,17,20,tzinfo=utc)))
|
|
|
|
def suite():
|
|
suite = unittest.TestSuite()
|
|
suite.addTest(unittest.makeSuite(EventTestCase, 'test'))
|
|
return suite
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main(defaultTest='suite')
|