def test_bidcycle_fixture(authorized_user):
    bidcycle = mommy.make(BidCycle, id=1, name="Bidcycle 1", cycle_start_date="2017-01-01T00:00:00Z", cycle_deadline_date="2017-05-05T00:00:00Z", cycle_end_date="2018-01-01T00:00:00Z", active=True)
    for i in range(5):
        bidcycle.positions.add(mommy.make('position.Position', position_number=seq("2")))

    # Create 5 "in search" positions
    mommy.make('position.Position', position_number=seq("56"), _quantity=5)
    mommy.make('position.Position', position_number=seq("1"), _quantity=2)

    mommy.make('user_profile.SavedSearch',
               id=1,
               name="Test search",
               owner=authorized_user.profile,
               endpoint='/api/v1/position/',
               filters={
                   "position_number__startswith": ["56"],
               })

    # A non-position search
    mommy.make('user_profile.SavedSearch',
               id=2,
               name="Test search",
               owner=authorized_user.profile,
               endpoint='/api/v1/orgpost/',
               filters={
                   "differential_rate__gt": ["0"],
               })
    def test_create_packages_max_packages(self):
        """
        Test that packages are created on save.
        If package_max_count is reached, the box must be split into two.
        """
        city = mommy.make("City", name="Foo city")
        subsidiary = mommy.make(
            "Subsidiary",
            address_street="Foo street",
            address_psc=12234,
            address_street_number="123",
            address_city="Foo city",
            city=city,
            address_recipient="Foo recipient",
        )
        user_attendance = UserAttendanceRecipe.make(
            userprofile__user__first_name="Foo",
            userprofile__user__last_name=seq("Name "),
            approved_for_team="approved",
            team__subsidiary=subsidiary,
            team__name=seq("Team "),
            discount_coupon__discount=100,
            discount_coupon__coupon_type__name="Discount",
            _quantity=2,
        )
        user_attendance[0].campaign.package_max_count = 1
        user_attendance[0].campaign.save()
        delivery_batch = mommy.make(
            "DeliveryBatch",
            campaign=user_attendance[0].campaign,
        )
        subsidiary_boxes = delivery_batch.subsidiarybox_set
        self.assertQuerysetEqual(
            subsidiary_boxes.all().order_by("pk"),
            (
                "<SubsidiaryBox: Krabice pro pobočku Foo recipient, Foo street 123, 122 34 Foo city - Foo city>",
                "<SubsidiaryBox: Krabice pro pobočku Foo recipient, Foo street 123, 122 34 Foo city - Foo city>",
            ),
        )
        pdf = PdfFileReader(subsidiary_boxes.all()[0].customer_sheets)
        pdf_string = pdf.pages[0].extractText()
        self.assertTrue("Foo Name 1" in pdf_string)

        pdf = PdfFileReader(subsidiary_boxes.all()[1].customer_sheets)
        pdf_string = pdf.pages[0].extractText()
        self.assertTrue("Foo Name 2" in pdf_string)

        self.assertQuerysetEqual(
            subsidiary_boxes.first().teampackage_set.all().order_by("pk"),
            [
                "<TeamPackage: Balíček pro tým Team 1>",
            ],
        )
        self.assertQuerysetEqual(
            PackageTransaction.objects.all().order_by("pk"),
            [
                "<PackageTransaction: Package transaction for user Foo Name 1>",
                "<PackageTransaction: Package transaction for user Foo Name 2>",
            ],
        )
    def test_create_packages(self):
        """
        Test that packages are created on save
        """
        city = mommy.make("City", name="Foo city")
        subsidiary = mommy.make(
            "Subsidiary",
            address_street="Foo street",
            address_psc=12234,
            address_street_number="123",
            address_city="Foo city",
            city=city,
            address_recipient="Foo recipient",
        )
        user_attendance = UserAttendanceRecipe.make(
            userprofile__user__first_name="Foo",
            userprofile__user__last_name=seq("Name "),
            approved_for_team="approved",
            team__subsidiary=subsidiary,
            team__name=seq("Team "),
            discount_coupon__discount=100,
            discount_coupon__coupon_type__name="Discount",
            _quantity=2,
        )
        delivery_batch = mommy.make(
            "DeliveryBatch",
            campaign=user_attendance[0].campaign,
        )
        self.assertQuerysetEqual(
            delivery_batch.subsidiarybox_set.all(),
            ("<SubsidiaryBox: Krabice pro pobočku Foo recipient, Foo street 123, 122 34 Foo city - Foo city>",
             ),
        )
        self.assertQuerysetEqual(
            delivery_batch.subsidiarybox_set.first().teampackage_set.all().
            order_by("pk"),
            [
                "<TeamPackage: Balíček pro tým Team 1>",
                "<TeamPackage: Balíček pro tým Team 2>",
            ],
        )
        self.assertQuerysetEqual(
            PackageTransaction.objects.all().order_by("pk"),
            [
                "<PackageTransaction: Package transaction for user Foo Name 1>",
                "<PackageTransaction: Package transaction for user Foo Name 2>",
            ],
        )
        # Test that PackageTransaction object is created
        self.assertEqual(
            PackageTransaction.objects.first().team_package.box.delivery_batch,
            delivery_batch,
        )

        # Test that PDF is created correctly - with the t-shirt sizes for all UserAttendance objects
        pdf = PdfFileReader(
            delivery_batch.subsidiarybox_set.first().customer_sheets)
        pdf_string = pdf.pages[0].extractText()
        self.assertTrue("Foo Name" in pdf_string)
Exemple #4
0
    def xtest_no_filter_shows_all_sizes_of_business(self):
        get_contract_recipe().make(_quantity=5, vendor_name=seq("Large Biz"), business_size='o')
        get_contract_recipe().make(_quantity=5, vendor_name=seq("Small Biz"), business_size='s')
        driver = self.load_and_wait()

        self.assert_results_count(driver, 10)

        self.assertIsNotNone(re.search(r'Small Biz\d+', driver.page_source))
        self.assertIsNotNone(re.search(r'Large Biz\d+', driver.page_source))
    def setUp(self):
        DefaultLogin.__init__(self)

        p = patch(
            'ixbr_api.core.models.create_all_ips')
        p.start()
        self.addCleanup(p.stop)

        p = patch(
            'ixbr_api.core.models.HistoricalTimeStampedModel.full_clean')
        p.start()
        self.addCleanup(p.stop)

        p = patch('ixbr_api.core.models.create_tag_by_channel_port')
        p.start()
        self.addCleanup(p.stop)

        p = patch(
            'ixbr_api.core.models.Switch.full_clean')
        self.addCleanup(p.stop)
        p.start()

        tags = [17, 18, 19]
        status_tags = ['PRODUCTION', 'AVAILABLE', 'PRODUCTION']

        self.ix = mommy.make(
            IX,
            tags_policy="ix_managed",
            create_tags=False,
            code="ria")
        self.customer_channel = mommy.make(CustomerChannel,)
        self.port = mommy.make(
            Port,
            switch__pix__ix=self.ix,
            channel_port=self.customer_channel.channel_port)
        self.ipv4 = mommy.make(
            IPv4Address,
            address=seq('187.16.193.'),
            ix=self.ix,
            _quantity=3)
        self.ipv6 = mommy.make(
            IPv6Address,
            ix=self.ix,
            address=seq("2001:12f8:0:16::"),
            _quantity=3)

        self.tags = mommy.make(
            Tag,
            ix=self.ix,
            tag=cycle(tags),
            status=cycle(status_tags),
            _quantity=len(tags))

        self.mlpav4 = mommy.make(
            MLPAv4,
            mlpav4_address=self.ipv4[0],
            tag=self.tags[0])
Exemple #6
0
    def test_no_filter_shows_all_sizes_of_business(self):
        get_contract_recipe().make(_quantity=5, vendor_name=seq("Large Biz"), business_size='o')
        get_contract_recipe().make(_quantity=5, vendor_name=seq("Small Biz"), business_size='s')
        driver = self.load_and_wait()

        self.assert_results_count(driver, 10)

        self.assertIsNotNone(re.search(r'Small Biz\d+', driver.page_source))
        self.assertIsNotNone(re.search(r'Large Biz\d+', driver.page_source))
    def setUp(self):
        self.dataset = mommy.make(Dataset)
        self.zero_dataset = mommy.make(Dataset)
        records = mommy.make(DatasetRecord, _quantity=10, value=seq(0))
        zero_records = mommy.make(DatasetRecord, _quantity=10, value=seq(-1))

        for record in records:
            self.dataset.records.add(record)

        for record in zero_records:
            self.zero_dataset.records.add(record)
Exemple #8
0
def get_contract_recipe():
    return Recipe(
            Contract,
            idv_piid=seq('ABC123'),
            piid=piid,
            vendor_name=seq("CompanyName"),
            labor_category="Business Analyst II",
            schedule=cycle(SCHEDULES),
            min_years_experience=seq(5),
            hourly_rate_year1=seq('2'),
            current_price=seq('2'),
    )
def test_pesquisa_data_adesao_sistema_de_cultura(client):
    mommy.make('SistemaCultura', _quantity=5, ente_federado__cod_ibge=seq(110),
               data_publicacao_acordo=seq(datetime.date(2018, 12, 21),
               datetime.timedelta(days=1)), _fill_optional=True)
    sistema_de_cultura = SistemaCultura.sistema.first()

    data_param = '?data_adesao={}'.format(sistema_de_cultura.data_publicacao_acordo)
    url = url_sistemadeculturalocal + data_param

    request = client.get(url, content_type="application/hal+json")

    assert len(request.data["_embedded"]["items"]) == 1
    assert request.data["_embedded"]["items"][0]["data_adesao"] == str(sistema_de_cultura.data_publicacao_acordo)
Exemple #10
0
    def test_filter_schedules(self):
        get_contract_recipe().make(_quantity=5, vendor_name=seq("MOBIS"), schedule='MOBIS')
        get_contract_recipe().make(_quantity=5, vendor_name=seq("AIMS"), schedule='AIMS')
        driver = self.load_and_wait()
        form = self.get_form()

        self.set_form_value(form, 'schedule', 'MOBIS')
        self.submit_form_and_wait()

        self.assert_results_count(driver, 5)

        self.assertIsNone(re.search(r'AIMS\d+', driver.page_source))
        self.assertIsNotNone(re.search(r'MOBIS\d+', driver.page_source))
Exemple #11
0
    def test_filter_experience_range(self):
        get_contract_recipe().make(_quantity=5, vendor_name=seq("4 years of experience"), min_years_experience=4)
        get_contract_recipe().make(_quantity=5, vendor_name=seq("5 years of experience"), min_years_experience=5)
        driver = self.load_and_wait()
        form = self.get_form()

        self.set_form_value(form, 'experience_range', '5,10')
        self.submit_form_and_wait()

        self.assert_results_count(driver, 5)

        self.assertIsNone(re.search(r'4 years of experience\d+', driver.page_source))
        self.assertIsNotNone(re.search(r'5 years of experience\d+', driver.page_source))
Exemple #12
0
    def xtest_filter_to_only_small_businesses(self):
        get_contract_recipe().make(_quantity=5, vendor_name=seq("Large Biz"), business_size="o")
        get_contract_recipe().make(_quantity=5, vendor_name=seq("Small Biz"), business_size="s")
        driver = self.load_and_wait()
        form = self.get_form()

        self.set_form_value(form, "business_size", "s")
        self.submit_form_and_wait()

        self.assert_results_count(driver, 5)

        self.assertIsNone(re.search(r"Large Biz\d+", driver.page_source))
        self.assertIsNotNone(re.search(r"Small Biz\d+", driver.page_source))
Exemple #13
0
    def xtest_filter_schedules(self):
        get_contract_recipe().make(_quantity=5, vendor_name=seq("MOBIS"), schedule='MOBIS')
        get_contract_recipe().make(_quantity=5, vendor_name=seq("AIMS"), schedule='AIMS')
        driver = self.load_and_wait()
        form = self.get_form()

        self.set_form_value(form, 'schedule', 'MOBIS')
        self.submit_form_and_wait()

        self.assert_results_count(driver, 5)

        self.assertIsNone(re.search(r'AIMS\d+', driver.page_source))
        self.assertIsNotNone(re.search(r'MOBIS\d+', driver.page_source))
Exemple #14
0
    def xtest_filter_to_only_large_businesses(self):
        get_contract_recipe().make(_quantity=5, vendor_name=seq("Large Biz"), business_size='o')
        get_contract_recipe().make(_quantity=5, vendor_name=seq("Small Biz"), business_size='s')
        driver = self.load_and_wait()
        form = self.get_form()

        self.set_form_value(form, 'business_size', 'o')
        self.submit_form_and_wait()

        self.assert_results_count(driver, 5)

        self.assertIsNone(re.search(r'Small Biz\d+', driver.page_source))
        self.assertIsNotNone(re.search(r'Large Biz\d+', driver.page_source))
Exemple #15
0
    def test_filter_to_only_large_businesses(self):
        get_contract_recipe().make(_quantity=5, vendor_name=seq("Large Biz"), business_size='o')
        get_contract_recipe().make(_quantity=5, vendor_name=seq("Small Biz"), business_size='s')
        driver = self.load_and_wait()
        form = self.get_form()

        self.set_form_value(form, 'business_size', 'o')
        self.submit_form_and_wait()

        self.assert_results_count(driver, 5)

        self.assertIsNone(re.search(r'Small Biz\d+', driver.page_source))
        self.assertIsNotNone(re.search(r'Large Biz\d+', driver.page_source))
 def test_completed_todo(self):
     mommy.make('Todo',
                user=self.user,
                title=recipe.seq('hello'),
                _quantity=3)
     mommy.make('Todo',
                user=self.user,
                title=recipe.seq('hello112'),
                _quantity=5,
                completed=datetime(2020, 5, 4))
     url = reverse('completedtodo')
     res = self.client.get(url)
     self.assertEqual(res.status_code, 200)
     self.assertEqual(len(res.context['todos']), 5)
 def test_current_todo(self):
     mommy.make('Todo',
                user=self.user,
                title=recipe.seq('hello'),
                _quantity=5)
     mommy.make('Todo',
                user=self.user,
                title=recipe.seq('helloii'),
                _quantity=5,
                completed=datetime(2019, 5, 5))
     res = self.client.get(CURRENT_TODO_URL)
     self.assertEqual(res.status_code, 200)
     self.assertEqual(len(res.context['todos']), 5)
     self.assertTemplateUsed(res, 'todo/currenttodo.html')
Exemple #18
0
 def test_send_mass_communication(self):
     users = user_profile_recipe.make(username=seq("Foo "), _quantity=5)
     for u in users:
         donor_payment_channel_recipe.make(user=u)
         mommy.make("Preference", send_mailing_lists=True, user=u)
     model_admin = django_admin.site._registry[DonorPaymentChannel]
     request = self.post_request({})
     for queryset in (
             UserProfile.objects.filter(id__in=(u.id for u in users)),
             DonorPaymentChannel.objects.all(),
     ):
         response = admin.send_mass_communication_action(
             model_admin, request, queryset)
         self.assertEqual(response.status_code, 302)
         self.assertEqual(
             response.url,
             "/aklub/masscommunication/add/?send_to_users=%s" %
             "%2C".join(str(getattr(u, "user", u).id) for u in queryset),
         )
         self.client.force_login(self.superuser)
         response = self.client.get(response.url, follow=True)
         for u in queryset:
             user = getattr(u, "user", u)
             self.assertContains(
                 response,
                 '<option value="%s" selected>%s</option>' %
                 (user.id, str(user)),
                 html=True,
             )
Exemple #19
0
    def test_deve_gerar_classificacao_considerando_nascimento_como_quarto_criterio(self):
        pre_analises = []
        pontuacao = 5.0
        pontuacao_pt = 5.0
        pontuacao_mt = 5.0
        nascimento_seq = recipe.seq(datetime.date.today(), increment_by=datetime.timedelta(days=1))
        for inscricao in self.inscricoes:
            pre_analises.append(
                recipes.inscricao_pre_analise.make(
                    candidato=inscricao.candidato,
                    fase=self.fase_analise,
                    curso=self.curso,
                    modalidade=self.modalidade_ampla,
                    situacao=models.SituacaoInscricao.DEFERIDA.name,
                    pontuacao=pontuacao,
                    pontuacao_pt=pontuacao_pt,
                    pontuacao_mt=pontuacao_mt,
                    nascimento=next(nascimento_seq)
                )
            )

        with mock.patch("psct.export.export"):
            tasks.resultado.gerar_resultado_preliminar(self.fase_analise.pk)

        resultados_inscricoes = models.ResultadoPreliminarInscricao.objects.all()
        self.assertEqual(
            pre_analises,
            [resultado.inscricao_preanalise for resultado in resultados_inscricoes]
        )
Exemple #20
0
 def test_defining_recipes_str(self):
     from model_mommy.recipe import seq
     p = Recipe('generic.Person', name=seq('foo'))
     try:
         p.make(_quantity=5)
     except AttributeError as e:
         self.fail('%s' % e)
Exemple #21
0
 def test_titles_are_correct(self):
     get_contract_recipe().make(_quantity=1,
                                labor_category=seq("Architect"))
     driver = self.load_and_wait()
     self.assertTrue(
         driver.title.startswith('CALC'),
         'Title mismatch, {} does not start with CALC'.format(driver.title))
    def setUp(self):
        DefaultLogin.__init__(self)

        p = patch('ixbr_api.core.models.create_all_ips')
        self.addCleanup(p.stop)
        p.start()

        p = patch('ixbr_api.core.models.HistoricalTimeStampedModel.full_clean')
        self.addCleanup(p.stop)
        p.start()

        p = patch('ixbr_api.core.models.Switch.full_clean')
        self.addCleanup(p.stop)
        p.start()

        self.ix = mommy.make(IX, code='sp')

        self.pix = mommy.make(PIX, ix=self.ix)

        self.asn = mommy.make(ASN, number=20121)

        self.contactsmap = mommy.make(ContactsMap, asn=self.asn, ix=self.ix)

        self.models = ['[X460-48t]', '[X670-72x]']

        self.switch_models = mommy.make(SwitchModel,
                                        model=cycle(self.models),
                                        vendor='EXTREME',
                                        _quantity=len(self.models))

        self.switchs = mommy.make(Switch,
                                  pix=self.pix,
                                  model=cycle(self.switch_models),
                                  management_ip=seq('192.168.28.'),
                                  _quantity=2)

        self.channel_port_customer = mommy.make(ChannelPort, create_tags=False)

        self.ports = mommy.make(Port,
                                switch=cycle(self.switchs),
                                name=seq('1'),
                                channel_port=self.channel_port_customer,
                                _quantity=len(self.switchs))

        self.ticket = 1234
        self.channel_name = 'ct-1'
        self.cix_type = 0
Exemple #23
0
 def test_titles_are_correct(self):
     get_contract_recipe().make(_quantity=1,
                                labor_category=seq("Architect"))
     driver = self.load_and_wait()
     self.assertTrue(
         driver.title.startswith('CALC'),
         'Title mismatch, {} does not start with CALC'.format(driver.title)
     )
Exemple #24
0
 def test_logarithmic_not_in_get_scale_options(self):
     self.dataset = mommy.make(Dataset)
     records = mommy.make(DatasetRecord, _quantity=10, value=seq(-5))
     for record in records:
         self.dataset.records.add(record)
     scales = self.dataset.get_scale_options()
     self.assertIn(SCALE_CHOICES[0], scales)
     self.assertNotIn(SCALE_CHOICES[1], scales)
Exemple #25
0
    def test_defining_recipes_str(self):
        from model_mommy.recipe import seq

        p = Recipe("generic.Person", name=seq("foo"))
        try:
            p.make(_quantity=5)
        except AttributeError as e:
            self.fail("%s" % e)
Exemple #26
0
    def xtest_filter_experience_range(self):
        get_contract_recipe().make(_quantity=5, vendor_name=seq("4 years of experience"), min_years_experience='4')
        get_contract_recipe().make(_quantity=5, vendor_name=seq("5 years of experience"), min_years_experience='5')
        driver = self.load_and_wait()
        form = self.get_form()

        # self.set_form_value(form, 'experience_range', '5,10')

        self.set_form_value(form, 'min_experience', "5")
        self.set_form_value(form, 'max_experience', "10")

        self.submit_form_and_wait()

        self.assert_results_count(driver, 5)

        self.assertIsNone(re.search(r'4 years of experience\d+', driver.page_source))
        self.assertIsNotNone(re.search(r'5 years of experience\d+', driver.page_source))
Exemple #27
0
    def test_there_is_no_business_size_column(self):
        get_contract_recipe().make(_quantity=5, vendor_name=seq("Large Biz"), business_size='o')
        driver = self.load()
        form = self.get_form()

        col_headers = get_column_headers(driver)

        for head in col_headers:
            self.assertFalse(has_matching_class(head, 'column-business[_-]size'))
 def test_defining_recipes_str(self):
     from model_mommy.recipe import seq
     p = Recipe('generic.Person',
         name=seq('foo')
     )
     try:
         p.make(_quantity=5)
     except AttributeError, e:
         self.fail('%s' %e)
 def test_delete_todo_invalid(self):
     mommy.make('Todo',
                user=self.user,
                title=recipe.seq('hello'),
                _quantity=3)
     url = reverse('deletetodo', args=[99])
     data = {}
     res = self.client.post(url, data)
     self.assertEqual(res.status_code, 404)
def test_pesquisa_data_adesao_sistema_de_cultura(client):
    mommy.make('SistemaCultura',
               _quantity=5,
               ente_federado__cod_ibge=seq(110),
               data_publicacao_acordo=seq(datetime.date(2018, 12, 21),
                                          datetime.timedelta(days=1)),
               _fill_optional=True)
    sistema_de_cultura = SistemaCultura.sistema.first()

    data_param = '?data_adesao={}'.format(
        sistema_de_cultura.data_publicacao_acordo)
    url = url_sistemadeculturalocal + data_param

    request = client.get(url, content_type="application/hal+json")

    assert len(request.data["_embedded"]["items"]) == 1
    assert request.data["_embedded"]["items"][0]["data_adesao"] == str(
        sistema_de_cultura.data_publicacao_acordo)
 def test_complete_todo_invalid_pk(self):
     mommy.make('Todo',
                user=self.user,
                title=recipe.seq('hello'),
                _quantity=3)
     url = reverse('completetodo', args=[66])
     data = {'completed': datetime(2020, 4, 2)}
     res = self.client.post(url, data)
     self.assertEqual(res.status_code, 404)
 def test_view_todo_post(self):
     mommy.make('Todo',
                user=self.user,
                title=recipe.seq('hello'),
                _quantity=3)
     data = {'title': 'helloblah', 'important': True}
     view_url = reverse('viewtodo', args=[1])
     res = self.client.post(view_url, data)
     self.assertEqual(res.status_code, 302)
Exemple #33
0
    def xtest_price_lte(self):
        # note: the hourly rates here will actually start at 80-- this seems
        # like a bug, but whatever
        get_contract_recipe().make(
            _quantity=10, labor_category=seq("Contractor"), hourly_rate_year1=seq(70, 10), current_price=seq(70, 10)
        )
        driver = self.load()
        form = self.get_form()
        self.search_for("Contractor")

        maximum = 100
        # add results count check
        self.set_form_value(form, "price__lte", maximum)
        self.submit_form_and_wait()
        self.assertTrue(
            ("price__lte=%d" % maximum) in driver.current_url, 'Missing "price__lte=%d" in query string' % maximum
        )
        self.assert_results_count(driver, 3)
Exemple #34
0
    def test_there_is_no_business_size_column(self):
        get_contract_recipe().make(_quantity=5, vendor_name=seq("Large Biz"), business_size='o')
        driver = self.load()
        form = self.get_form()

        col_headers = get_column_headers(driver)

        for head in col_headers:
            self.assertFalse(has_matching_class(head, 'column-business[_-]size'))
Exemple #35
0
    def xtest_price_lte(self):
        # note: the hourly rates here will actually start at 80-- this seems
        # like a bug, but whatever
        get_contract_recipe().make(_quantity=10,
                                   labor_category=seq("Contractor"),
                                   hourly_rate_year1=seq(70, 10),
                                   current_price=seq(70, 10))
        driver = self.load()
        form = self.get_form()
        self.search_for('Contractor')

        maximum = 100
        # add results count check
        self.set_form_value(form, 'price__lte', maximum)
        self.submit_form_and_wait()
        self.assertTrue(('price__lte=%d' % maximum) in driver.current_url,
                        'Missing "price__lte=%d" in query string' % maximum)
        self.assert_results_count(driver, 3)
Exemple #36
0
 def test_model_todo(self):
     """Tests for the model methods"""
     mommy.make('Todo',
                user=self.user,
                title=recipe.seq('hello'),
                _quantity=5)
     todos = Todo.objects.all()
     self.assertEqual(len(todos), 5)
     self.assertIn('hello', todos.__str__())
def test_retorno_maximo_de_100_objetos_sistema_de_cultura(client):

    mommy.make('SistemaCultura', ente_federado__cod_ibge=seq(110), _quantity=110)
    limit_param = '?limit=150'

    url = url_sistemadeculturalocal + limit_param

    request = client.get(url, content_type="application/hal+json")

    assert len(request.data["_embedded"]["items"]) == 100
 def test_dont_find_any_tasks(self, send_mock):
     mommy.make(
         'TaskSchedule',
         database=cycle(self.databases),
         scheduled_for=seq(FAKE_NOW, timedelta(hours=1)),
         status=0,
         _quantity=3
     )
     send_mail_24hours_before_auto_task()
     self.assertFalse(send_mock.called)
Exemple #39
0
 def xtest_form_submit_loading(self):
     get_contract_recipe().make(_quantity=1, labor_category=seq("Architect"))
     self.load()
     self.search_for('Architect')
     form = self.submit_form()
     # print(self.driver.execute_script('document.querySelector("#search").className'))
     self.assertTrue(has_class(form, 'loading'), "Form doesn't have 'loading' class")
     self.wait_for(self.data_is_loaded)
     self.assertTrue(has_class(form, 'loaded'), "Form doesn't have 'loaded' class")
     self.assertFalse(has_class(form, 'loading'), "Form shouldn't have 'loading' class after loading")
Exemple #40
0
    def xtest_filter_order_is_correct(self):
        get_contract_recipe().make(_quantity=1, labor_category=seq("Architect"))
        driver = self.load()
        form = self.get_form()

        inputs = form.find_elements_by_css_selector("input:not([type='hidden'])")

        # the last visible form inputs should be the price filters
        self.assertEqual(inputs[-2].get_attribute('name'), 'price__gte')
        self.assertEqual(inputs[-1].get_attribute('name'), 'price__lte')
Exemple #41
0
 def xtest_form_submit_loading(self):
     get_contract_recipe().make(_quantity=1, labor_category=seq("Architect"))
     self.load()
     self.search_for('Architect')
     form = self.submit_form()
     # print(self.driver.execute_script('document.querySelector("#search").className'))
     self.assertTrue(has_class(form, 'loading'), "Form doesn't have 'loading' class")
     self.wait_for(self.data_is_loaded)
     self.assertTrue(has_class(form, 'loaded'), "Form doesn't have 'loaded' class")
     self.assertFalse(has_class(form, 'loading'), "Form shouldn't have 'loading' class after loading")
def test_retorno_maximo_de_100_objetos_sistema_de_cultura(client):

    mommy.make('Municipio', cidade__codigo_ibge=seq(110), _quantity=110)
    limit_param = '?limit=150'

    url = url_sistemadeculturalocal + limit_param

    request = client.get(url, content_type="application/hal+json")

    assert len(request.data["_embedded"]["items"]) == 100
Exemple #43
0
    def xtest_filter_order_is_correct(self):
        get_contract_recipe().make(_quantity=1, labor_category=seq("Architect"))
        driver = self.load()
        form = self.get_form()

        inputs = form.find_elements_by_css_selector("input:not([type='hidden'])")

        # the last visible form inputs should be the price filters
        self.assertEqual(inputs[-2].get_attribute('name'), 'price__gte')
        self.assertEqual(inputs[-1].get_attribute('name'), 'price__lte')
Exemple #44
0
 def test__get_non_zero_max_record(self):
     self.dataset = mommy.make(Dataset)
     value_seq = seq(1, increment_by=-1)
     records = mommy.make(DatasetRecord, _quantity=10, value=value_seq)
     for record in records:
         self.dataset.records.add(record)
     max_record = self.dataset._get_max_record()
     non_zero_max_record = self.dataset._get_non_zero_max_record()
     self.assertEqual(int(max_record), 0)
     self.assertEqual(int(non_zero_max_record), -1)
def test_URL_sistema_cultura_local_retorna_10_sistemas(client):

    for ente in mommy.make('EnteFederado', _quantity=12, cod_ibge=seq(110)):
        mommy.make('SistemaCultura', ente_federado=ente)

    request = client.get(url_sistemadeculturalocal,
                         content_type="application/hal+json")

    assert isinstance(request.data["_embedded"]["items"], list)
    assert len(request.data["_embedded"]["items"]) == 10
def test_URL_sistema_cultura_local_retorna_10_sistemas(client):

    for ente in mommy.make('EnteFederado', _quantity=12, cod_ibge=seq(110)):
        mommy.make('SistemaCultura', ente_federado=ente)

    request = client.get(url_sistemadeculturalocal,
                         content_type="application/hal+json")

    assert isinstance(request.data["_embedded"]["items"], list)
    assert len(request.data["_embedded"]["items"]) == 10
def test_pesquisa_por_cnpj_prefeitura_em_sistema_de_cultura(client):

    sistema_cultura = mommy.make('SistemaCultura', ente_federado__cod_ibge=seq(111), _quantity=2, _fill_optional=True)
    cnpj_param = '?cnpj_prefeitura={}'.format(sistema_cultura[0].sede.cnpj)

    url = url_sistemadeculturalocal + cnpj_param

    request = client.get(url, content_type="application/hal+json")

    assert len(request.data["_embedded"]["items"]) == 1
    assert request.data["_embedded"]["items"][0]["_embedded"]["sede"]["localizacao"]["cnpj"] == sistema_cultura[0].sede.cnpj
def test_queryset_to_model_migrator():
    ignored_old_polls = mommy.make(OldPoll, _quantity=3)
    collected_old_polls = mommy.make(
        OldPoll, old_poll_name=seq('herpderp'), _quantity=3)
    migrator = mp.QuerysetToModelMigrator()
    migrator.run_migration()
    assert NewPoll.objects.count() == 3

    for p in collected_old_polls:
        np_match = NewPoll.objects.filter(new_poll_name=p.old_poll_name)
        assert np_match.count() == 1
def test_sql_query_to_model_migrator():
    ignored_old_polls = mommy.make(OldPoll, _quantity=3)
    collected_old_polls = mommy.make(
        OldPoll, old_poll_name=seq('herpderp'), _quantity=3)
    migrator = mp.ComplexPollsBySQLMigrator()
    migrator.run_migration()
    assert NewPoll.objects.count() == 3

    for p in collected_old_polls:
        np_match = NewPoll.objects.filter(
            new_poll_name=p.old_poll_name + ' (old)')
        assert np_match.count() == 1
 def test_view_todo_get(self):
     mommy.make('Todo',
                user=self.user,
                title=recipe.seq('hello'),
                _quantity=5)
     view_url = reverse('viewtodo', args=[1])
     res = self.client.get(view_url)
     self.assertEqual(res.status_code, 200)
     self.assertIn('hello', res.context['todo'].title)
     view_url = reverse('viewtodo', args=[6])
     res = self.client.get(view_url)
     self.assertEqual(res.status_code, 404)
Exemple #51
0
    def test_database_dead(self, task_register_mock):
        DatabaseHelper.create(
            name=seq('test'), status=Database.DEAD, _quantity=4
        )
        task_register_mock.return_value = self.task_history
        check_databases_status()

        self.assertEqual(self.task_history.task_status, 'ERROR')
        self.assertIn('Dead', self.task_history.details)
        self.assertIn('test1', self.task_history.details)
        self.assertIn('test2', self.task_history.details)
        self.assertIn('test3', self.task_history.details)
        self.assertIn('test4', self.task_history.details)
Exemple #52
0
 def xtest_form_submit_loading(self):
     get_contract_recipe().make(_quantity=1,
                                labor_category=seq("Architect"))
     self.load()
     self.search_for('Architect')
     form = self.submit_form()
     self.assertTrue(has_class(form, 'loading'),
                     "Form doesn't have 'loading' class")
     self.wait_for(self.data_is_loaded)
     self.assertTrue(has_class(form, 'loaded'),
                     "Form doesn't have 'loaded' class")
     self.assertFalse(has_class(form, 'loading'),
                      "Form shouldn't have 'loading' class after loading")
def test_pesquisa_por_nome_municipio_em_sistema_de_cultura_letras_minusculas(client):

    sistema_cultura = mommy.make('SistemaCultura', ente_federado__cod_ibge=seq(
        111), _quantity=2, _fill_optional=True)

    nome_ente_minusculo = sistema_cultura[0].ente_federado.nome.lower()
    nome_ente_param = '?ente_federado={}'.format(nome_ente_minusculo)

    url = url_sistemadeculturalocal + nome_ente_param

    request = client.get(url, content_type="application/hal+json")

    assert len(request.data["_embedded"]["items"]) == 1
    assert request.data["_embedded"]["items"][0]["_embedded"]["ente_federado"]["nome"] == sistema_cultura[0].ente_federado.nome
Exemple #54
0
def get_contract_recipe(schedule=None, sin=None):
    return Recipe(
        Contract,
        idv_piid=seq('ABC123'),
        vendor_name=seq("CompanyName"),
        labor_category="Business Analyst II",
        schedule=schedule or cycle(SCHEDULES),
        sin=sin or cycle(SINS),
        min_years_experience=seq(5),
        hourly_rate_year1=seq('2'),
        current_price=seq('2'),
        next_year_price=seq('3'),
        second_year_price=seq('4'),
    )
Exemple #55
0
    def test_filter_by_site(self):
        get_contract_recipe().make(_quantity=3, contractor_site=seq('Q'))
        resp = self.c.get(self.path, {'site': 'Q3'})
        self.assertEqual(resp.status_code, 200)
        self.assertEqual(len(resp.data['results']), 1)

        self.assertResultsEqual(resp.data['results'],
         [{'idv_piid': 'ABC1233',
           'vendor_name': 'CompanyName3',
           'labor_category': 'Business Analyst II',
           'education_level': None,
           'min_years_experience': 8,
           'hourly_rate_year1': 23.0,
           'current_price': 23.0,
           'schedule': 'MOBIS',
           'contractor_site': 'Q3',
           'business_size': None}])

person = Recipe(Person,
    name = 'John Doe',
    nickname = 'joe',
    age = 18,
    bio = 'Someone in the crowd',
    blog = 'http://joe.blogspot.com',
    wanted_games_qtd = 4,
    birthday = now().date(),
    appointment = now(),
    birth_time = now()
)

serial_person = Recipe(Person,
    name = seq('joe'),
)

serial_numbers = Recipe(DummyDefaultFieldsModel,
    default_decimal_field = seq(Decimal('20.1')),
    default_int_field = seq(10),
    default_float_field = seq(1.23)
)

serial_numbers_by = Recipe(DummyDefaultFieldsModel,
    default_decimal_field = seq(Decimal('20.1'), increment_by=Decimal('2.4')),
    default_int_field = seq(10, increment_by=3),
    default_float_field = seq(1.23, increment_by=1.8)
)

serial_datetime = Recipe(DummyDefaultFieldsModel,
from model_mommy.recipe import Recipe, seq

from .models import User

email_seq = seq('*****@*****.**')

user = Recipe(User,
              first_name='Johnny',
              last_name=seq('User'),
              email=email_seq,)
Exemple #58
0
 def test_results_count(self):
     get_contract_recipe().make(_quantity=10, labor_category=seq("Engineer"))
     driver = self.load_and_wait()
     self.assert_results_count(driver, 10)
Exemple #59
0
from model_mommy.recipe import Recipe, seq
from contracts.models import Contract
from itertools import cycle

SCHEDULES = ('MOBIS', 'PES')
piid = seq('123')

def get_contract_recipe(schedule=None):
    return Recipe(
            Contract,
            idv_piid=seq('ABC123'),
            piid=piid,
            vendor_name=seq("CompanyName"),
            labor_category="Business Analyst II",
            schedule=schedule or cycle(SCHEDULES),
            min_years_experience=seq(5),
            hourly_rate_year1=seq('2'),
            current_price=seq('2'),
            next_year_price=seq('3'),
            second_year_price=seq('4'),
    )

an **object-oriented** computer programming language commonly used to
create interactive effects within *web browsers*.''',
    ''''# Python

a *high-level* **general-purpose** _programming language_.''',
]

user = Recipe(
    User,
    email="*****@*****.**",
    is_active=True
)

category = Recipe(
    Category,
    title=seq('Category'),
    author=foreign_key(user),
    description=cycle('description'),
    _quantity=3
)

article = Recipe(
    Article,
    title=seq('Article'),
    author=foreign_key(user),
    category=foreign_key(category),
    content=cycle(definitions),
    _quantity=5
)