def setUp(self):
     """
     setUp --> called before each test in the class
     It will be almost the same for all the views tests
     """
     super(TestViewSearch, self).setUpClass()
     # create 3 products
     mixer.cycle(3).blend(Product,
                          pname=mixer.sequence('prod{0}'),
                          code=mixer.sequence('{0}'),
                          nutriscore_score=25,
                          nutriscore_grade="e",
                          salt=mixer.RANDOM('H', 'M', 'L', 'U'),
                          sugar=mixer.RANDOM('H', 'M', 'L', 'U'),
                          fat=mixer.RANDOM('H', 'M', 'L', 'U'),
                          saturated_fat=mixer.RANDOM('H', 'M', 'L', 'U'),
                          category__cname=mixer.sequence('category{0}'),
                          brand__bname=mixer.sequence('brand{0}'),
                          store__sname=mixer.sequence('store{0}'))
     # add a cat to a product
     prod2 = Product.objects.get(pname='prod2')
     cat1 = Category.objects.get(cname='category1')
     prod2.category.add(cat1)
     prod2.save()
     self.search_url = reverse("products_app:search")
     # init test client
     self.client = Client()
     # create a user and connect with this user
     user = User.objects.create(username='******')
     user.set_password('foobar')
     user.save()
     self.user = user
     self.client.login(username='******', password='******')
 def setUp(self):
     super(TestViewSaveRemoveBookmark, self).setUpClass()
     # create 2 products
     mixer.cycle(3).blend(Product,
                          pname=mixer.sequence('prod{0}'),
                          code=mixer.sequence('{0}'),
                          nutriscore_score=25,
                          nutriscore_grade="e",
                          salt=mixer.RANDOM('H', 'M', 'L', 'U'),
                          sugar=mixer.RANDOM('H', 'M', 'L', 'U'),
                          fat=mixer.RANDOM('H', 'M', 'L', 'U'),
                          saturated_fat=mixer.RANDOM('H', 'M', 'L', 'U'),
                          category__cname=mixer.sequence('category{0}'),
                          brand__bname=mixer.sequence('brand{0}'),
                          store__sname=mixer.sequence('store{0}'))
     # test client
     self.client = Client()
     # user creation
     user = User.objects.create(username='******')
     user.set_password('foobar')
     user.save()
     self.user = user
     self.client.login(username='******', password='******')
     json_data = json.dumps({'action': 'add', 'subst': '2', 'prod': '1'})
     response = self.client.post(
         reverse('products_app:save_remove_bookmark'),
         json_data,
         content_type="application/json")
Exemplo n.º 3
0
 def setUp(self) -> None:
     self.tags = mixer.cycle(20).blend(Tag)
     self.admin = mixer.blend(User, is_superuser=True)
     self.user = mixer.blend(User)
     self.user.profile.interests.set(self.tags[:5])
     self.user.profile.save()
     self.articles = mixer.cycle(100).blend(Article,
                                            tags=mixer.sequence(*self.tags))
     self.decks = mixer.cycle(30).blend(
         Deck, articles=mixer.sequence(*self.articles))
Exemplo n.º 4
0
    def test_get_documents_monthly_with_args(self):
        mixer.cycle(5).blend(DocumentsReport,
                             period='daily',
                             documents=10,
                             start_date=mixer.sequence('2020-10-1{0}'),
                             end_date=mixer.sequence('2020-10-1{0}'))

        get_documents_monthly.apply(args=(['2020-10-01']))

        monthly_data = DocumentsReport.objects.filter(period='monthly').first()

        assert monthly_data.start_date == date(2020, 10, 1)
        assert monthly_data.end_date == date(2020, 10, 31)
        assert monthly_data.period == 'monthly'
        assert monthly_data.documents == 50
Exemplo n.º 5
0
    def test_monthly_get_pautas_ga_data(self):
        mixer.cycle(5).blend(AudienciasGA,
                             period='daily',
                             data=self.json_monthly,
                             start_date=mixer.sequence('2020-10-1{0}'),
                             end_date=mixer.sequence('2020-10-1{0}'))

        get_ga_audiencias_monthly.apply(args=(['2020-10-01']))

        monthly_data = AudienciasGA.objects.filter(period='monthly').first()

        assert monthly_data.data['users'] == 50
        assert monthly_data.data['newUsers'] == 50
        assert monthly_data.data['sessions'] == 50
        assert monthly_data.data['pageViews'] == 50
Exemplo n.º 6
0
    def test_load_stat(self):
        c1 = mixer.blend(Country, use_in_reports=True)
        c2 = mixer.blend(Country, use_in_reports=True)
        (o1, o2) = mixer.cycle(2).blend(Organization,
                                        name=mixer.sequence("org_{0}"))
        s1 = mixer.blend(Survey, countries=[c1, c2], organizations=[o1, o2])
        s2 = mixer.blend(Survey, countries=[c1, c2], organizations=[o1, o2])

        evaluator = self.evaluator_cls(s1)

        mixer.blend(SurveyStat, survey=s1, country=None)
        mixer.blend(SurveyStat, survey=s1, country=c1)
        mixer.blend(SurveyStat, survey=s2, country=c1)
        mixer.blend(OrganizationStat,
                    survey=s1,
                    country_id=None,
                    organization=o1)
        mixer.blend(OrganizationStat, survey=s1, country=c1, organization=o1)
        mixer.blend(OrganizationStat, survey=s2, country=c1, organization=o1)
        mixer.blend(OrganizationStat, survey=s2, country=c1, organization=o2)

        r1 = mixer.blend(Representation, active=True)
        r2 = mixer.blend(Representation, active=True)

        mixer.blend(QuestionStat, survey=s1, country=None, representation=r1)
        mixer.blend(QuestionStat, survey=s1, country=c1, representation=r1)
        mixer.blend(QuestionStat, survey=s1, country=c1, representation=r2)

        evaluator.load_stat()
        assert len(evaluator.survey_stat) == 3
        assert len(evaluator.organization_stat) == 4
        assert len(evaluator.question_stat) == 3
 def setUp(self):
     super(TestViewProductDetail, self).setUpClass()
     # create 2 products
     mixer.cycle(2).blend(Product,
                          pname=mixer.sequence('prod{0}'),
                          code=mixer.sequence('{0}'),
                          nutriscore_score=25,
                          nutriscore_grade="e",
                          salt=mixer.RANDOM('H', 'M', 'L', 'U'),
                          sugar=mixer.RANDOM('H', 'M', 'L', 'U'),
                          fat=mixer.RANDOM('H', 'M', 'L', 'U'),
                          saturated_fat=mixer.RANDOM('H', 'M', 'L', 'U'),
                          category__cname=mixer.sequence('category{0}'),
                          brand__bname=mixer.sequence('brand{0}'),
                          store__sname=mixer.sequence('store{0}'))
     self.client = Client()
Exemplo n.º 8
0
    def test_monthly_get_pautas_ga_data_without_args(self):
        last_month = date.today().replace(day=1) - timedelta(days=1)
        last_date = str(last_month)[:8]
        mixer.cycle(5).blend(AudienciasGA,
                             period='daily',
                             data=self.json_monthly,
                             start_date=mixer.sequence(last_date + '1{0}'),
                             end_date=mixer.sequence(last_date + '1{0}'))

        get_ga_audiencias_monthly.apply()

        monthly_data = AudienciasGA.objects.filter(period='monthly').first()

        assert monthly_data.data['users'] == 50
        assert monthly_data.data['newUsers'] == 50
        assert monthly_data.data['sessions'] == 50
        assert monthly_data.data['pageViews'] == 50
Exemplo n.º 9
0
 def test_chapter_range_str_with_5_chapters_returns_1_to_5_as_str(self):
     self.chapters = mixer.cycle(5).blend(
         Chapter,
         section=self.section,
         chapter_code=mixer.sequence(1, 2, 3, 4, 5),
         nomenclature_tree=self.tree,
     )
     self.assertEquals(self.section.chapter_range_str, "1 to 5")
    def test_get_edemocracia_registers_monthly(self):
        json_data = {"register_count": 10}

        mixer.cycle(5).blend(EdemocraciaAnalysis, period='daily',
                             data=json_data, start_date=mixer.sequence(
                                 '2020-10-1{0}'),
                             end_date=mixer.sequence('2020-10-1{0}'))

        get_edemocracia_registers_monthly.apply(args=(['2020-10-01']))

        monthly_data = EdemocraciaAnalysis.objects.filter(
            period='monthly').first()

        assert monthly_data.start_date == date(2020, 10, 1)
        assert monthly_data.end_date == date(2020, 10, 31)
        assert monthly_data.period == 'monthly'
        assert monthly_data.data['register_count'] == 50
Exemplo n.º 11
0
 def test_centers_are_in_different_context(self, mock_render, rf):
     orgs = mixer.cycle(5).blend(SROMember, status='a')
     counter = 0
     for org in orgs:
         mixer.blend(AccreditedCenter,
                     short_code=mixer.sequence("active_{}".format(counter)),
                     sro_member=org,
                     active=True)
         mixer.blend(AccreditedCenter,
                     short_code=mixer.sequence(
                         "inactive_{}".format(counter)),
                     sro_member=org,
                     active=False)
         mixer.blend(AccreditedCenter,
                     short_code=mixer.sequence(
                         "suspended_{}".format(counter)),
                     sro_member=org,
                     temporary_suspend_date=mixer.RANDOM)
         counter += 1
     active_centers = AccreditedCenter.objects.filter(
         active=True, temporary_suspend_date__isnull=True)
     inactive_centers = AccreditedCenter.objects.filter(active=False)
     suspended_centers = AccreditedCenter.objects.filter(
         temporary_suspend_date__isnull=False)
     request = rf.get('/reestr/centers/')
     response = reestr.centers(request, direction='personal')
     context = self.context(mock_render.call_args)
     active_centers_cntxt = combined(context['active_centers']['left'],
                                     context['active_centers']['right'])
     inactive_centers_cntxt = combined(context['inactive_centers']['left'],
                                       context['inactive_centers']['right'])
     suspended_centers_cntxt = combined(
         context['suspended_centers']['left'],
         context['suspended_centers']['right'])
     for center in active_centers:
         assert center in active_centers_cntxt and\
             center not in inactive_centers_cntxt and\
             center not in suspended_centers_cntxt
     for center in inactive_centers:
         assert center in inactive_centers_cntxt and\
             center not in active_centers_cntxt and\
             center not in suspended_centers_cntxt
     for center in suspended_centers:
         assert center in suspended_centers_cntxt and\
             center not in active_centers_cntxt and\
             center not in inactive_centers_cntxt
Exemplo n.º 12
0
 def test_a_course_can_have_many_comments(self):
     user = mixer.blend(User, username='******')
     course = mixer.blend(Course, student=user)
     comments = mixer.cycle(12).blend(
         Comment,
         author=user,
         course=course,
         comment=mixer.sequence(lambda c: "test_%s" % c))
     assert Comment.objects.filter(course=course).count() == 12
Exemplo n.º 13
0
    def test_get_answers(self):
        s = mixer.blend(Survey)
        (o1, o2) = mixer.cycle(2).blend(Organization,
                                        name=mixer.sequence("org_{0}"))
        mixer.blend(Answer, survey=s, organization=o1, is_updated=True)
        mixer.blend(Answer, survey=s, organization=o2, is_updated=False)

        evaluator = self.evaluator_cls(s)
        answers = evaluator.get_answers()
        assert len(answers) == 1, 'Should return just one last record'
 def setUp(self):
     super(TestViewSearchSubstitute, self).setUpClass()
     # create 4 products
     mixer.cycle(4).blend(Product,
                          pname=mixer.sequence('prod{0}'),
                          code=mixer.sequence('{0}'),
                          nutriscore_score=25,
                          nutriscore_grade="e",
                          salt=mixer.RANDOM('H', 'M', 'L', 'U'),
                          sugar=mixer.RANDOM('H', 'M', 'L', 'U'),
                          fat=mixer.RANDOM('H', 'M', 'L', 'U'),
                          saturated_fat=mixer.RANDOM('H', 'M', 'L', 'U'),
                          category__cname=mixer.sequence('category{0}'),
                          brand__bname=mixer.sequence('brand{0}'),
                          store__sname=mixer.sequence('store{0}'))
     # add a cat to a product
     prod2 = Product.objects.get(pname='prod2')
     cat1 = Category.objects.get(cname='category1')
     prod2.category.add(cat1)
     prod2.save()
     # the prod3 will not have any substitute
     prod3 = Product.objects.get(pname='prod3')
     prod3.nutriscore_score = 24
     prod3.save()
     # nb_cat by product --> for the substiture research
     categories_s = Category.objects.all()
     for cat in categories_s:
         nbr_prod = Product.objects.filter(
             category__cname=cat.cname).count()
         upd_cat = Category.objects.get(cname=cat.cname)
         upd_cat.nb_prod = nbr_prod
         upd_cat.save()
     # init test client
     self.client = Client()
     # create a user and connect with this user
     user = User.objects.create(username='******')
     user.set_password('foobar')
     user.save()
     self.user = user
     self.client.login(username='******', password='******')
Exemplo n.º 15
0
    def test_has_hierarchy_children(self):
        self.chapters = mixer.cycle(5).blend(
            Chapter,
            section=self.section,
            chapter_code=mixer.sequence(1, 2, 3, 4, 5),
            nomenclature_tree=self.tree,
        )

        children = self.section.get_hierarchy_children()
        child_count = self.section.get_hierarchy_children_count()
        self.assertEqual(len(children), 5)
        self.assertEqual(child_count, 5)
        self.assertEqual(len(children), child_count)
 def setUp(self):
     """"
     Setup method --> initialize datas to test models methods
     """
     super(TestUserAppModels, self).setUpClass()
     mixer.cycle(3).blend(Product,
                          pname=mixer.sequence('prod{0}'),
                          code=mixer.sequence('{0}'),
                          nutriscore_score=25,
                          nutriscore_grade="e",
                          salt=mixer.RANDOM('H', 'M', 'L', 'U'),
                          sugar=mixer.RANDOM('H', 'M', 'L', 'U'),
                          fat=mixer.RANDOM('H', 'M', 'L', 'U'),
                          saturated_fat=mixer.RANDOM('H', 'M', 'L', 'U'),
                          category__cname=mixer.sequence('category{0}'),
                          brand__bname=mixer.sequence('brand{0}'),
                          store__sname=mixer.sequence('store{0}'))
     # add a cat to a product
     prod2 = Product.objects.get(pname='prod2')
     cat1 = Category.objects.get(cname='category1')
     prod2.category.add(cat1)
     prod2.save()
Exemplo n.º 17
0
 def test_get_answers(self):
     (o1, o2) = mixer.cycle(2).blend(Organization,
                                     name=mixer.sequence("org_{0}"))
     mixer.blend(Answer,
                 survey=self.survey,
                 organization=o1,
                 is_updated=True)
     mixer.blend(Answer,
                 survey=self.survey,
                 organization=o2,
                 is_updated=False)
     answers = self.evaluator.get_answers()
     assert len(answers) == 2, 'Should return all records'
 def setUpClass(cls):
     super(TestReports, cls).setUpClass()
     c1 = mixer.blend(Country, slug='ukraine')
     cls.c1 = c1
     c2 = mixer.blend(Country, slug='germany')
     (o1, o2) = mixer.cycle(2).blend(Organization, name=mixer.sequence("org_{0}"))
     s1 = mixer.blend(Survey, countries=[c1, c2], organizations=[o1, o2], active=True)
     cls.s1 = s1
     mixer.blend(SurveyStat, survey=s1, country=None)
     mixer.blend(SurveyStat, survey=s1, country=c1)
     mixer.blend(OrganizationStat, survey=s1, country_id=None, organization=o1)
     mixer.blend(OrganizationStat, survey=s1, country=c1, organization=o1)
     TotalEvaluator.process_answers(s1)
Exemplo n.º 19
0
    def test_monthly_get_ga_data(self):
        json_data = {
            "date": "00000000",
            "users": 10,
            "newUsers": 10,
            "sessions": 10,
            "pageViews": 10
        }

        mixer.cycle(5).blend(EdemocraciaGA,
                             period='daily',
                             data=json_data,
                             start_date=mixer.sequence('2020-10-1{0}'),
                             end_date=mixer.sequence('2020-10-1{0}'))

        get_ga_edemocracia_monthly.apply(args=(['2020-10-01']))

        monthly_data = EdemocraciaGA.objects.filter(period='monthly').first()

        assert monthly_data.data['users'] == 50
        assert monthly_data.data['newUsers'] == 50
        assert monthly_data.data['sessions'] == 50
        assert monthly_data.data['pageViews'] == 50
Exemplo n.º 20
0
    def test_fill_out(self):
        c1 = mixer.blend(Country, use_in_reports=True)
        c2 = mixer.blend(Country, use_in_reports=True)
        (o1, o2) = mixer.cycle(2).blend(Organization,
                                        name=mixer.sequence("org_{0}"))
        s1 = mixer.blend(Survey,
                         countries=[c1, c2],
                         organizations=[o1, o2],
                         active=True)
        q1 = mixer.blend(Question, survey=s1)
        q2 = mixer.blend(Question, survey=s1)
        mixer.blend(Question, survey=s1)
        r1 = mixer.blend(Representation, active=True, question=q1, ordering=1)
        r2 = mixer.blend(Representation, active=True, question=q2, ordering=2)

        evaluator = self.evaluator_cls(s1)

        mixer.blend(SurveyStat, survey=s1, country=None)
        mixer.blend(SurveyStat, survey=s1, country=c1)
        mixer.blend(OrganizationStat,
                    survey=s1,
                    country_id=None,
                    organization=o1)
        mixer.blend(OrganizationStat, survey=s1, country=c1, organization=o1)
        mixer.blend(QuestionStat,
                    survey=s1,
                    country=None,
                    representation=r1,
                    type=r1.type)
        mixer.blend(QuestionStat,
                    survey=s1,
                    country=c1,
                    representation=r1,
                    type=r1.type)
        evaluator.load_stat()

        assert len(evaluator.survey_stat) == 2
        assert len(evaluator.organization_stat) == 2
        assert len(evaluator.question_stat) == 2

        evaluator.fill_out()
        assert len(evaluator.survey_stat) == 3
        assert len(evaluator.organization_stat) == 6
        assert len(evaluator.question_stat) == 6
        assert evaluator.question_stat[(s1.pk, None, r2.pk)].ordering == 2
        assert evaluator.question_representation_link == {q1.pk: r1, q2.pk: r2}
        assert evaluator.question_dict == {q1.pk: q1, q2.pk: q2}

        for qs in evaluator.question_stat.values():
            assert qs.type == qs.representation.type
Exemplo n.º 21
0
 def setUp(self):
     super(TestViewSaveBookmark, self).setUpClass()
     # create 2 products
     mixer.cycle(2).blend(Product,
                          pname=mixer.sequence('prod{0}'),
                          code=mixer.sequence('{0}'),
                          nutriscore_score=25,
                          nutriscore_grade="e",
                          salt=mixer.RANDOM('H', 'M', 'L', 'U'),
                          sugar=mixer.RANDOM('H', 'M', 'L', 'U'),
                          fat=mixer.RANDOM('H', 'M', 'L', 'U'),
                          saturated_fat=mixer.RANDOM('H', 'M', 'L', 'U'),
                          category__cname=mixer.sequence('category{0}'),
                          brand__bname=mixer.sequence('brand{0}'),
                          store__sname=mixer.sequence('store{0}'))
     # test client
     self.client = Client()
     # user creation
     user = User.objects.create(username='******')
     user.set_password('foobar')
     user.save()
     self.user = user
     self.client.login(username='******', password='******')
Exemplo n.º 22
0
 def test_update_survey_stat(self):
     d1 = timezone.make_aware(datetime(2017, 1, 1))
     d2 = timezone.make_aware(datetime(2017, 1, 2))
     (o1, o2) = mixer.cycle(2).blend(Organization,
                                     name=mixer.sequence("org_{0}"))
     a1 = mixer.blend(Answer, organization=o1)
     a1.created_at = d1
     a2 = mixer.blend(Answer, organization=o2)
     a2.created_at = d2
     self.evaluator.update_survey_stat((1, 2), a1)
     self.evaluator.update_survey_stat((1, 2), a2)
     assert self.evaluator.survey_stat[(1, 2)].total == 2
     assert self.evaluator.survey_stat[(1, 2)].last == d2
     assert self.evaluator.survey_stat[(1, None)].total == 2
     assert self.evaluator.survey_stat[(1, None)].last == d2
Exemplo n.º 23
0
 def test_prefetch(self):
     wine1 = Wine.objects.first()
     wine1.title = f'{wine1.title}'
     wine1.save()
     with self.assertNumQueries(2):
         for wine in Wine.objects.all():
             self.assertIsNotNone(wine.title)
     mixer.cycle(5).blend(Wine, title=mixer.sequence('Wine {0}'))
     with override('en'):
         for wine in Wine.objects.all():
             wine.title = f'{wine.title} en'
             wine.save()
     with self.assertNumQueries(2):
         for wine in Wine.objects.all():
             self.assertIsNotNone(wine.title.en)
    def setUpClass(cls):
        super(SurveyStartViewTest, cls).setUpClass()
        c1 = mixer.blend(Country, name='France')
        cls.c1 = c1
        c2 = mixer.blend(Country, name='Germany')
        cls.orgs = mixer.cycle(2).blend(Organization,
                                        name=mixer.sequence("org_{0}"))

        now = timezone.now()
        s1 = mixer.blend(Survey,
                         countries=[c1, c2],
                         organizations=cls.orgs,
                         active=True,
                         start=now - timezone.timedelta(days=1),
                         end=now + timezone.timedelta(days=1))
        cls.s1 = s1
Exemplo n.º 25
0
    def test_model(self):
        authors = mixer.cycle(2).blend('book.Author', name=mixer.sequence(lambda count: "author%s" % count))
        book = mixer.blend('book.Book', name="Test", isbn="123-456789012", country="india",
                           number_of_pages=26, publisher="pub1", release_date="2019-05-26", authors=authors)

        assert book.pk == 1
        assert book.name == "Test"
        assert book.isbn == "123-456789012"
        assert book.country == "india"
        assert book.number_of_pages == 26
        assert book.publisher == "pub1"
        assert book.release_date == datetime.date(2019, 5, 26)
        assert book.authors.count() == 2
        assert book.authors.first().name == "author0"
        assert book.authors.last().name == "author1"
        assert str(book) == "Test"
Exemplo n.º 26
0
    def test_process_answer_with_empty_data(self, organization_stat,
                                            survey_stat):

        (o1, o2) = mixer.cycle(2).blend(Organization,
                                        name=mixer.sequence("org_{0}"))
        country = mixer.blend(Country, id=1)
        answer = mixer.blend(Answer,
                             body='',
                             survey=self.survey,
                             organization=o1)
        self.evaluator.process_answer(answer)
        assert organization_stat.call_count == 0
        assert survey_stat.call_count == 0

        answer = mixer.blend(Answer,
                             body='111',
                             survey=self.survey,
                             organization=o2)
        self.assertRaises(MalformedQueryStringError,
                          self.evaluator.process_answer, answer)
        assert organization_stat.call_count == 0
        assert survey_stat.call_count == 0

        answer = mixer.blend(Answer,
                             body='a=1',
                             survey=self.survey,
                             organization=o1)
        self.assertRaises(KeyError, self.evaluator.process_answer, answer)

        answer = mixer.blend(Answer,
                             body='data=1',
                             survey=self.survey,
                             organization=o2)
        self.assertRaises(KeyError, self.evaluator.process_answer, answer)

        answer = mixer.blend(Answer,
                             country=country,
                             body='data[111]=Yes',
                             survey=self.survey,
                             organization=o1)
        self.evaluator.process_answer(answer)

        survey_stat.assert_called_once_with((answer.survey_id, country.pk),
                                            answer)
        organization_stat.assert_called_once_with(
            (answer.survey_id, country.pk, answer.organization_id))
Exemplo n.º 27
0
    def handle(self, *args, **options):
        Tag.objects.all().delete()
        Post.objects.all().delete()
        Category.objects.all().delete()
        Contact.objects.all().delete()
        ContactSubdivision.objects.all().delete()
        Document.objects.all().delete()

        mixer.cycle(10).blend(
            Document,
            # title=mixer.sequence('document_naks_{0}'),
            main_page_rotation=True,
        )

        mixer.cycle(10).blend(ContactSubdivision,
                              title=mixer.sequence('subdivision_{0}'))
        mixer.cycle(20).blend(Contact,
                              description=mixer.RANDOM,
                              subdivision=mixer.SELECT,
                              phone=mixer.RANDOM,
                              phone_secondary=mixer.RANDOM,
                              email=mixer.RANDOM,
                              number=mixer.RANDOM)

        for i in range(len(tags)):
            mixer.blend(Tag, name=tags[i])

        for i in range(len(categories)):
            mixer.blend(Category, name=categories[i])

        for i in range(len(news_titles)):
            mixer.blend(
                Post,
                title=news_titles[i],
                active=True if random.randint(0, 100) > 20 else False,
                mark_as_announcement=True
                if random.randint(0, 100) > 60 else False,
                category=random.choice(
                    [category for category in Category.objects.all()]),
                subtitle=mixer.RANDOM,
                short_description=mixer.RANDOM,
                full_description=mixer.RANDOM,
                main_picture=File(open(random.choice(pictures), 'rb')),
            )
            print('creating posts:', news_titles[i])
Exemplo n.º 28
0
    def test_an_user_can_REGISTER_to_a_course(self):
        user = mixer.blend(User, username='******')
        course = mixer.blend('elearning.Course', author=user)
        registered = mixer.blend('elearning.Register',
                                 student=user,
                                 course=course)
        assert registered.student.username == 'nickelback'

        users = mixer.cycle(10).blend(
            User, username=mixer.sequence(lambda c: "nickelback_%s" % c))

        #registrering 10 users into a course
        for this_user in users:
            registered = mixer.blend('elearning.Register',
                                     student=this_user,
                                     course=course)

        #how many Student this Course contains
        assert Register.objects.filter(course=course.id).count() == 11
Exemplo n.º 29
0
 def setUp(cls):
     super(TestModels, cls).setUp()
     cls.teacher = mixer.blend(User, is_staff=True)
     cls.schoolboy = mixer.blend(User, is_staff=False)
     cls.examsheet = mixer.blend(ExamSheet,
                                 author=cls.teacher,
                                 available=True)
     cls.question = mixer.blend(Question, examsheet=cls.examsheet)
     cls.answer = mixer.blend(Answer, question=cls.question)
     cls.examresult = mixer.blend(ExamResult,
                                  author=cls.schoolboy,
                                  earned_points=5,
                                  points_to_get=10,
                                  exam=cls.examsheet)
     cls.examsheets = mixer.cycle(4).blend(
         ExamSheet,
         author=cls.teacher,
         title=mixer.sequence("title_{0}"),
         available=True)
Exemplo n.º 30
0
    def test_process_answer(self):
        d1 = timezone.make_aware(datetime(2017, 1, 1))
        d2 = timezone.make_aware(datetime(2017, 1, 2))
        mixer.blend(SurveyStat, survey_id=1, country_id=None, total=2, last=d1)
        mixer.blend(SurveyStat, survey_id=1, country_id=1, total=2, last=d1)
        (o1, o2) = mixer.cycle(2).blend(Organization,
                                        name=mixer.sequence("org_{0}"))
        mixer.blend(OrganizationStat,
                    survey_id=1,
                    country_id=None,
                    organization=o1,
                    total=2)
        mixer.blend(OrganizationStat,
                    survey_id=1,
                    country_id=1,
                    organization=o1,
                    total=2)

        self.evaluator.load_stat()
Exemplo n.º 31
0
def set_up(db):
    event = mixer.blend(Event, name='Ball', allow_groups=True, cost=Decimal(65))
    for i in range(10):
        person = mixer.blend(Person, first_name='xxx', last_name=mixer.sequence(lambda c: f'name_{c}'))
        mixer.blend(Participant, event=event, person=person, text=str(i))