예제 #1
0
파일: test_views.py 프로젝트: coati-00/nepi
class TestCreateSchoolView(TestCase):
    def setUp(self):
        self.factory = RequestFactory()
        self.country = Country(name='LS')
        self.country.save()
        self.school = School(country=self.country, name='School 1')
        self.school.save()
        self.group = Group(school=self.school,
                           name="Group",
                           start_date=datetime.now(),
                           end_date=datetime.now())
        self.student = User(first_name="student", last_name="student",
                            username="******", email="*****@*****.**",
                            password="******")
        self.student.save()
        self.teacher = User(first_name="teacher", last_name="teacher",
                            username="******", email="*****@*****.**",
                            password="******")
        self.teacher.save()

    def test_create_school(self):
        '''CreateSchoolView'''
        u = TeacherProfileFactory().user
        request = self.factory.post(
            '/add_school/',
            {"name": "School Needs Name",
             "creator": u,
             "country": self.country})
        request.user = u
        CreateSchoolView.as_view()(request)
예제 #2
0
파일: test_views.py 프로젝트: coati-00/nepi
    def test_dashboard_context(self):
        request = RequestFactory().get('/dashboard/')
        request.user = self.icap

        a = SchoolGroupFactory()
        b = SchoolGroupFactory()
        SchoolGroupFactory(archived=True)

        view = UserProfileView()
        view.request = request

        self.assertEquals(view.get_object(), request.user.profile)

        view.object = request.user.profile
        ctx = view.get_context_data()

        self.assertEquals(ctx['optionb'], self.hierarchy)
        self.assertIsNotNone(ctx['profile_form'])
        self.assertEquals(ctx['countries'], Country.choices())
        self.assertEquals(ctx['joined_groups'].count(), 0)
        self.assertEquals(len(ctx['managed_groups']), 2)
        self.assertEquals(ctx['managed_groups'][0], a)
        self.assertEquals(ctx['managed_groups'][1], b)

        # pending teachers
        pt = PendingTeacherFactory()  # random country/school
        self.assertEquals(len(ctx['pending_teachers']), 1)
        self.assertEquals(ctx['pending_teachers'][0], pt)
예제 #3
0
파일: test_views.py 프로젝트: coati-00/nepi
    def test_dashboard_context(self):
        request = RequestFactory().get('/dashboard/')
        request.user = self.teacher

        school_group = SchoolGroupFactory(creator=self.teacher,
                                          school=self.teacher.profile.school)

        # archived group
        SchoolGroupFactory(creator=self.teacher,
                           school=self.teacher.profile.school,
                           archived=True)
        # alt_creator
        SchoolGroupFactory(creator=TeacherProfileFactory().user)

        view = UserProfileView()
        view.request = request

        self.assertEquals(view.get_object(), request.user.profile)

        view.object = request.user.profile
        ctx = view.get_context_data()

        self.assertEquals(ctx['optionb'], self.hierarchy)
        self.assertIsNotNone(ctx['profile_form'])
        self.assertEquals(ctx['countries'], Country.choices())
        self.assertEquals(ctx['joined_groups'].count(), 0)
        self.assertEquals(len(ctx['managed_groups']), 1)
        self.assertEquals(ctx['managed_groups'][0], school_group)
        self.assertTrue('pending_teachers' not in ctx)
예제 #4
0
파일: test_models.py 프로젝트: ccnmtl/nepi
    def test_choices(self):
        country1 = CountryFactory(display_name="Beta")
        country2 = CountryFactory(display_name="Alpha")

        choices = Country.choices()

        self.assertEqual(len(choices), 2)
        self.assertEqual(choices[0], (country2.name, country2.display_name))
        self.assertEqual(choices[1], (country1.name, country1.display_name))
예제 #5
0
파일: test_views.py 프로젝트: coati-00/nepi
 def setUp(self):
     self.factory = RequestFactory()
     self.country = Country(name='LS')
     self.country.save()
     self.school = School(country=self.country, name='School 1')
     self.school.save()
     self.group = Group(school=self.school,
                        name="Group",
                        start_date=datetime.now(),
                        end_date=datetime.now())
     self.student = User(first_name="student", last_name="student",
                         username="******", email="*****@*****.**",
                         password="******")
     self.student.save()
     self.teacher = User(first_name="teacher", last_name="teacher",
                         username="******", email="*****@*****.**",
                         password="******")
     self.teacher.save()
예제 #6
0
    def test_choices(self):
        country1 = CountryFactory(display_name="Beta")
        country2 = CountryFactory(display_name="Alpha")

        choices = Country.choices()

        self.assertEquals(len(choices), 2)
        self.assertEquals(choices[0], (country2.name, country2.display_name))
        self.assertEquals(choices[1], (country1.name, country1.display_name))
예제 #7
0
파일: test_views.py 프로젝트: coati-00/nepi
    def test_dashboard_context(self):
        request = RequestFactory().get('/dashboard/')
        request.user = self.admin

        admin_group = SchoolGroupFactory(creator=self.admin,
                                         school=self.school)
        iadmin_group = SchoolGroupFactory(creator=self.iadmin,
                                          school=self.iadmin.profile.school)
        teacher_group = SchoolGroupFactory(creator=self.teacher,
                                           school=self.teacher.profile.school)

        # archived groups
        SchoolGroupFactory(creator=self.teacher,
                           school=self.teacher.profile.school,
                           archived=True)
        SchoolGroupFactory(creator=self.admin, school=self.school,
                           archived=True)

        # random groups alt_creator/alt school groups
        SchoolGroupFactory(creator=TeacherProfileFactory().user)

        view = UserProfileView()
        view.request = request

        self.assertEquals(view.get_object(), request.user.profile)

        view.object = request.user.profile
        ctx = view.get_context_data()

        self.assertEquals(ctx['optionb'], self.hierarchy)
        self.assertIsNotNone(ctx['profile_form'])
        self.assertEquals(ctx['countries'], Country.choices())
        self.assertEquals(ctx['joined_groups'].count(), 0)
        self.assertEquals(len(ctx['managed_groups']), 3)
        self.assertEquals(ctx['managed_groups'][0], admin_group)
        self.assertEquals(ctx['managed_groups'][1], teacher_group)
        self.assertEquals(ctx['managed_groups'][2], iadmin_group)

        # pending teachers
        PendingTeacherFactory()  # random country/school
        pt1 = PendingTeacherFactory(school=self.alt_school)
        pt2 = PendingTeacherFactory(school=self.school)  # visible
        self.assertEquals(len(ctx['pending_teachers']), 2)
        self.assertEquals(ctx['pending_teachers'][0], pt2)
        self.assertEquals(ctx['pending_teachers'][1], pt1)
예제 #8
0
파일: test_views.py 프로젝트: coati-00/nepi
    def test_dashboard_context(self):
        request = RequestFactory().get('/dashboard/')
        request.user = self.student

        view = UserProfileView()
        view.request = request

        self.assertEquals(view.get_object(), request.user.profile)

        view.object = request.user.profile
        ctx = view.get_context_data()

        self.assertEquals(ctx['optionb'], self.hierarchy)
        self.assertIsNotNone(ctx['profile_form'])
        self.assertEquals(ctx['countries'], Country.choices())
        self.assertEquals(ctx['joined_groups'].count(), 0)
        self.assertTrue('managed_groups' not in ctx)
        self.assertTrue('pending_teachers' not in ctx)
예제 #9
0
파일: views.py 프로젝트: ccnmtl/nepi
    def get_context_data(self, **kwargs):
        profile = self.request.user.profile
        context = super(UserProfileView, self).get_context_data(**kwargs)

        hierarchy_name = 'optionb-%s' % profile.language
        hierarchy = Hierarchy.objects.get(name=hierarchy_name)
        context['optionb'] = hierarchy

        context['profile_form'] = UpdateProfileForm(instance=self.request.user)
        context['countries'] = Country.choices()
        context['joined_groups'] = self.request.user.profile.joined_groups()

        if profile.is_student():
            context.update(self.get_student_context(hierarchy))
        elif profile.is_teacher():
            context.update(self.get_faculty_context())
        elif profile.is_institution_administrator():
            context.update(self.get_institution_context())
        elif profile.is_country_administrator():
            context.update(self.get_country_context())
        elif profile.is_icap():
            context.update(self.get_icap_context())

        return context
예제 #10
0
파일: views.py 프로젝트: ccnmtl/nepi
 def get_context_data(self, **kwargs):
     return {
         'user': self.request.user,
         'countries': Country.choices(),
         'roles': PROFILE_CHOICES
     }
예제 #11
0
파일: views.py 프로젝트: ccnmtl/nepi
 def get_context_data(self, **kwargs):
     return {
         'user': self.request.user,
         'countries': Country.choices()
     }
예제 #12
0
파일: forms.py 프로젝트: ccnmtl/nepi
 def __init__(self, *args, **kwargs):
     super(UserProfileForm, self).__init__(*args, **kwargs)
     self.fields["country"].choices = Country.choices()
예제 #13
0
파일: forms.py 프로젝트: coati-00/nepi
 def __init__(self, *args, **kwargs):
     super(UserProfileForm, self).__init__(*args, **kwargs)
     self.fields["country"].choices = Country.choices()