Ignore:
Timestamp:
18 Mar 2013, 09:51:12 (12 years ago)
Author:
Henrik Bettermann
Message:

Add web service method which gets the course tickets registered by a student in a certain session.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • main/waeup.kofa/trunk/src/waeup/kofa/students/tests/test_webservices.py

    r10035 r10036  
    11# Tests for webservices
    22import xmlrpclib
    3 import httplib
    4 import urllib
    5 import base64
    63from zope.app.testing.xmlrpc import ServerProxy
    74from zope.component import createObject
     
    118from waeup.kofa.testing import FunctionalLayer, FunctionalTestCase
    129from waeup.kofa.students.tests.test_browser import StudentsFullSetup
     10from waeup.kofa.students.studylevel import StudentStudyLevel, CourseTicket
    1311
    1412class XMLRPCTests(StudentsFullSetup):
     
    1614
    1715    layer = FunctionalLayer
     16
     17    def setup_student(self, student):
     18        study_level = StudentStudyLevel()
     19        study_level.level_session = 2012
     20        study_level.level_verdict = "A"
     21        study_level.level = 100
     22        student['studycourse'].addStudentStudyLevel(
     23            self.certificate, study_level)
     24
     25        ticket = CourseTicket()
     26        ticket.automatic = True
     27        ticket.carry_over = True
     28        ticket.code = u'CRS1'
     29        ticket.title = u'Course 1'
     30        ticket.fcode = u'FAC1'
     31        ticket.dcode = u'DEP1'
     32        ticket.credits = 100
     33        ticket.passmark = 100
     34        ticket.semester = 2
     35        study_level[ticket.code] = ticket
    1836
    1937    def test_get_student_id_no_match(self):
     
    7694            'text/xml; charset=utf-8')
    7795        self.assertEqual(self.browser.contents, self.RESPONSE_XML)
     96
     97    def test_get_courses_by_session(self):
     98        server = ServerProxy('http://mgr:mgrpw@localhost/app')
     99        result = server.get_courses_by_session('K1000000')
     100        self.assertEqual(result, None)
     101        self.setup_student(self.student)
     102        result = server.get_courses_by_session('K1000000', '2010')
     103        self.assertEqual(result, None)
     104        result = server.get_courses_by_session('K1000000', '2012')
     105        self.assertEqual(result,
     106            {'100|CRS1': 'Course 1', '100|COURSE1': 'Unnamed Course'})
     107        result = server.get_courses_by_session('K1000000')
     108        self.assertEqual(result,
     109            {'100|CRS1': 'Course 1', '100|COURSE1': 'Unnamed Course'})
     110        return
Note: See TracChangeset for help on using the changeset viewer.