Ejemplo n.º 1
0
 def __init__(self):
     for session in Talk.get_talk_sessions():
         room_dict = {}
         for room in Room.get_rooms():
             room_dict[room.name] = None
         self.grid[session]= dict(room_dict)
             
     for talk in Talk.all().fetch(1000):
         if talk.session:
             self.add_talk(talk)
Ejemplo n.º 2
0
 def setUp(self):
     self.init_testbed_for_datastore_tests()
     self.init_django_settings()
     self.room1 = Room(name="sala1")
     self.room2 = Room(name="sala2")
     room_key1 = self.room1.put()
     room_key2 = self.room2.put()
     self.attendant_key = Attendant.create("Ponente1", "Apellido1", "*****@*****.**", "Zaragoza", False).put()
     self.talk1 = Talk(title="Titulo1", speaker=self.attendant_key, room=room_key1, session=4)
     self.talk1.put()
     Talk(title="Titulo2", speaker=self.attendant_key, room=room_key2).put()
     Talk(title="Titulo3", speaker=self.attendant_key, room=room_key1).put()
     self.talk_key_4 = Talk(title="Titulo4", speaker=self.attendant_key).put()
Ejemplo n.º 3
0
class TimetableTestCase(unittest.TestCase, TestBedInitializer):

    def setUp(self):
        self.init_testbed_for_datastore_tests()
        self.init_django_settings()
        self.room1 = Room(key_name = 'sala1', name = "sala1")
        self.room2 = Room(key_name = 'sala2', name = "sala2")
        self.room1.put()
        self.room2.put()
        self.talk = Talk(title = 'Titulo1', room = self.room1, session=1)
    
    def test_empty_schedule_grid(self):
        grid = Timetable().get_grid()
        for session in Talk.get_talk_sessions():
            for room in Room.get_rooms():
                self.assertFalse(grid[session][room.name])
                
    def test_schedule_grid_with_one_talk(self):
        self.talk.put()
        grid = Timetable().get_grid()
        self.assertEquals('Titulo1', grid[1]['sala1'].title)

    def test_add_talk_to_schedule_grid(self):
        timetable = Timetable()
        timetable.add_talk(self.talk)
        self.assertEquals('Titulo1', timetable.get_grid()[1]['sala1'].title)
        
    def test_get_rows_for_template(self):
        self.talk.room = self.room2
        timetable = Timetable()
        timetable.add_talk(self.talk)
        number_of_sessions = len(Talk.get_talk_sessions())
        self.assertEquals(number_of_sessions, len(timetable.get_rows_for_template()))
        for row in timetable.get_rows_for_template():
            self.assertEquals(2, len(row.talks_by_room()))
            if row.session == 1:
                self.assertEquals(row.talks_by_room()[0], None)
                self.assertEquals(row.talks_by_room()[1], self.talk)                        
                
    def test_timetable_json(self):
        timetable = Timetable()
        timetable.add_talk(self.talk)
        self.talk.put()
        talk2 = Talk(title = 'Titulo2', room = self.room2, session=1).put()
        
        talks = timetable.get_talks()
        talks_json = timetable.get_talks_json()
        logging.error("AG:  %s " %  talks_json)
Ejemplo n.º 4
0
 def setUp(self):
     self.init_testbed_for_datastore_tests()
     self.init_django_settings()
     self.room1 = Room(key_name = 'sala1', name = "sala1")
     self.room2 = Room(key_name = 'sala2', name = "sala2")
     self.room1.put()
     self.room2.put()
     self.talk = Talk(title = 'Titulo1', room = self.room1, session=1)
Ejemplo n.º 5
0
 def test_get_rows_for_template(self):
     self.talk.room = self.room2
     timetable = Timetable()
     timetable.add_talk(self.talk)
     number_of_sessions = len(Talk.get_talk_sessions())
     self.assertEquals(number_of_sessions, len(timetable.get_rows_for_template()))
     for row in timetable.get_rows_for_template():
         self.assertEquals(2, len(row.talks_by_room()))
         if row.session == 1:
             self.assertEquals(row.talks_by_room()[0], None)
             self.assertEquals(row.talks_by_room()[1], self.talk)                        
Ejemplo n.º 6
0
 def get_rows_for_template(self):
     session_rows = []
     contador = 0
     for session in Talk.get_talk_sessions():
         row = SessionRow(session)
         for room in Room.get_rooms():
             if self.grid[session][room.name]:
                 self.grid[session][room.name].contador = contador
             row.add_talk(self.grid[session][room.name])
             contador = contador + 1
         session_rows.append(row)
     return session_rows
Ejemplo n.º 7
0
def show_timetable(request):
    user = request.session.get('user')
    timetable = Timetable()
    rooms = Room.get_rooms()
    sessions = Talk.get_talk_sessions()
    return render_to_response('timetable_app.html', {'user': user, 'rooms': rooms, 'sessions': sessions, 'rows': timetable.get_rows_for_template()})
Ejemplo n.º 8
0
 def get_talks(self):
     return Talk.all().fetch(1000)
Ejemplo n.º 9
0
def init_app(request):
    if request.method == 'GET':
        User.create_admin('admin', 'aos').put()
        Room.init_rooms()
        if not Talk.all().count(1) > 0:
            talk = Talk(title = 'Android', session=1)
            talk.set_room(Room.get_rooms()[0])
            talk.put()
            talk = Talk(title = 'Kanban', session=5)
            talk.set_room(Room.get_rooms()[1])
            talk.put()
        if not Attendant.all().count(1) > 0:
            bill = Attendant.create('Bill', 'Gates', '*****@*****.**', 'Zaragoza', False)
            bill.twitter_id = 'fbgblog'
            bill.set_as_speaker()
            bill.put()
            richard = Attendant.create('Richard', 'Stallman', '*****@*****.**', 'Pamplona', True)
            richard.twitter_id = 'GNUplusLINUX'
            richard.set_as_speaker()
            richard.put()
        return HttpResponse("App ready to rumble...", mimetype="text/plain")
Ejemplo n.º 10
0
def edit_talk(request, talk_id=None):
    talk = Talk.get_by_id(int(talk_id))
    if request.method == "GET":
        return show_talk_form_to_edit(request, TalkForm(instance=talk))
    else:
        return save_talk_form(request, talk)
Ejemplo n.º 11
0
 def test_empty_schedule_grid(self):
     grid = Timetable().get_grid()
     for session in Talk.get_talk_sessions():
         for room in Room.get_rooms():
             self.assertFalse(grid[session][room.name])
Ejemplo n.º 12
0
class TalksTestCase(unittest.TestCase, TestBedInitializer):
    def setUp(self):
        self.init_testbed_for_datastore_tests()
        self.init_django_settings()
        self.room1 = Room(name="sala1")
        self.room2 = Room(name="sala2")
        room_key1 = self.room1.put()
        room_key2 = self.room2.put()
        self.attendant_key = Attendant.create("Ponente1", "Apellido1", "*****@*****.**", "Zaragoza", False).put()
        self.talk1 = Talk(title="Titulo1", speaker=self.attendant_key, room=room_key1, session=4)
        self.talk1.put()
        Talk(title="Titulo2", speaker=self.attendant_key, room=room_key2).put()
        Talk(title="Titulo3", speaker=self.attendant_key, room=room_key1).put()
        self.talk_key_4 = Talk(title="Titulo4", speaker=self.attendant_key).put()

    def test_search_unexisting_attendant(self):
        attendant = Attendant.all().filter("name", "PonenteN").fetch(1000)
        self.assertFalse(attendant)

    def test_fetch_talks_from_attendant(self):
        attendant = Attendant.all().filter("first_name", "Ponente1").get()
        self.assertEquals("Titulo1", attendant.talks[0].title)
        self.assertEquals("Titulo2", attendant.talks[1].title)

    def test_create_talk(self):
        talk = Talk.create_talk("Titulo5", self.attendant_key)
        self.assertEquals("*****@*****.**", talk.speaker.email)

    def test_add_room_to_talk(self):
        talk = Talk.add_room_to_talk(self.talk_key_4.id(), self.room1.key())
        self.assertEquals("sala1", talk.room.name)

    def test_get_talks_from_room(self):
        talks = Talk.get_talks_from_room(self.room1.key())
        self.assertEqual("Titulo1Titulo3", talks[0].title + talks[1].title)

    def test_get_talks_during_hour(self):
        Talk.create_talk("Charla1", self.attendant_key, session=1).put()
        Talk.create_talk("Charla2", self.attendant_key, session=1).put()
        talks = Talk.get_talks_during_session(1)
        self.assertEquals("Charla1Charla2", talks[0].title + talks[1].title)

    def test_serialize_to_json(self):
        expected = {
            "room": {"name": u"sala1"},
            "title": "Titulo1",
            "duration": 1,
            "session": 4,
            "speaker": {
                "city": u"Zaragoza",
                "first_name": u"Ponente1",
                "last_name": u"Apellido1",
                "twitter_id": u"",
                "computers_needed": False,
                "speaker": False,
                "email": u"*****@*****.**",
            },
            "time": "13:00",
            "date": "2012-06-23",
            "description": "",
        }
        logging.error("Talk json:  %s " % self.talk1.to_json())
        self.assertEqual(expected, self.talk1.to_json())
Ejemplo n.º 13
0
 def test_get_talks_during_hour(self):
     Talk.create_talk("Charla1", self.attendant_key, session=1).put()
     Talk.create_talk("Charla2", self.attendant_key, session=1).put()
     talks = Talk.get_talks_during_session(1)
     self.assertEquals("Charla1Charla2", talks[0].title + talks[1].title)
Ejemplo n.º 14
0
 def test_get_talks_from_room(self):
     talks = Talk.get_talks_from_room(self.room1.key())
     self.assertEqual("Titulo1Titulo3", talks[0].title + talks[1].title)
Ejemplo n.º 15
0
 def test_add_room_to_talk(self):
     talk = Talk.add_room_to_talk(self.talk_key_4.id(), self.room1.key())
     self.assertEquals("sala1", talk.room.name)
Ejemplo n.º 16
0
 def test_create_talk(self):
     talk = Talk.create_talk("Titulo5", self.attendant_key)
     self.assertEquals("*****@*****.**", talk.speaker.email)