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)
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)
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)
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))
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_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))
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)
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)
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
def get_context_data(self, **kwargs): return { 'user': self.request.user, 'countries': Country.choices(), 'roles': PROFILE_CHOICES }
def get_context_data(self, **kwargs): return { 'user': self.request.user, 'countries': Country.choices() }
def __init__(self, *args, **kwargs): super(UserProfileForm, self).__init__(*args, **kwargs) self.fields["country"].choices = Country.choices()