def test_filters(self): self.login() ProductFactory(id=1, name="A1") ProductFactory(id=2, name="A2", company=CompanyFactory(name="PrefixB2")) ProductFactory(id=3, name="A3", company=CompanyFactory(official_name="B3Suffix")) ProductFactory(id=4, name="A4", company=CompanyFactory(common_name="PefixB4Suffix")) response = self.client.get("{}?q={}".format(self.url, "A1")) self.assertEqual(response.status_code, 200) self.assertEqual(response.json(), self._get_expected_result([('1', 'A1')])) response = self.client.get("{}?q={}".format(self.url, "B2")) self.assertEqual(response.status_code, 200) self.assertEqual(response.json(), self._get_expected_result([('2', 'A2')])) response = self.client.get("{}?q={}".format(self.url, "B3")) self.assertEqual(response.status_code, 200) self.assertEqual(response.json(), self._get_expected_result([('3', 'A3')])) response = self.client.get("{}?q={}".format(self.url, "B4")) self.assertEqual(response.status_code, 200) self.assertEqual(response.json(), self._get_expected_result([('4', 'A4')]))
def test_filled(self): products = CompanyFactory.create_batch(100) page = self.app.get(self.url, user=self.user) # self.assertTrue("1 z 4" in page) self.assertTrue(str(products[-1]) in page) page2 = page.click("Następne") page2.click("Poprzednie")
def test_should_return_200_when_one_comand_in_brand_and_product(self): c1 = CompanyFactory( plCapital=100, plWorkers=0, plRnD=100, plRegistered=100, plNotGlobEnt=100, description="TEST", sources="TEST|BBBB", verified=True, is_friend=True, plCapital_notes="AAA", plWorkers_notes="BBB", plRnD_notes="CCC", plRegistered_notes="DDD", plNotGlobEnt_notes="EEE", ) p = ProductFactory.create(code=5900049011829, company=c1, brand__company=c1) response = self.json_request(self.url + "?device_id=TEST-DEVICE-ID&code=" + str(p.code)) self.assertEqual(200, response.status_code, response.content) self.maxDiff = None self.assertEqual( { 'altText': None, 'card_type': 'type_white', 'code': '5900049011829', 'description': 'TEST', 'donate': { 'show_button': True, 'title': 'Potrzebujemy 1 zł', 'url': 'https://klubjagiellonski.pl/zbiorka/wspieraj-aplikacje-pola/', }, 'friend_text': 'To jest przyjaciel Poli', 'is_friend': True, 'name': 'company_official_125', 'plCapital': 100, 'plCapital_notes': 'AAA', 'plNotGlobEnt': 100, 'plNotGlobEnt_notes': 'EEE', 'plRegistered': 100, 'plRegistered_notes': 'DDD', 'plRnD': 100, 'plRnD_notes': 'CCC', 'plScore': 70, 'plWorkers': 0, 'plWorkers_notes': 'BBB', 'product_id': p.pk, 'report_button_text': 'Zgłoś', 'report_button_type': 'type_white', 'report_text': 'Zgłoś jeśli posiadasz bardziej aktualne dane na temat tego produktu', 'sources': {'TEST': 'BBBB'}, }, json.loads(response.content), )
def test_should_return_200_when_polish_and_known_product(self): c = CompanyFactory( plCapital=100, plWorkers=0, plRnD=100, plRegistered=100, plNotGlobEnt=100, description="TEST", sources="TEST|BBBB", verified=True, is_friend=True, plCapital_notes="AAA", plWorkers_notes="BBB", plRnD_notes="CCC", plRegistered_notes="DDD", plNotGlobEnt_notes="EEE", ) p = ProductFactory.create(code=5900049011829, company=c, brand=None) response = self.json_request(self.url + "?device_id=TEST-DEVICE-ID&code=" + str(p.code)) self.assertEqual(200, response.status_code, response.content) self.maxDiff = None self.assertEqual( { "product_id": p.id, "code": "5900049011829", "name": c.official_name, "card_type": "type_white", "plScore": 70, "altText": None, "plCapital": 100, "plCapital_notes": "AAA", "plWorkers": 0, "plWorkers_notes": "BBB", "plRnD": 100, "plRnD_notes": "CCC", "plRegistered": 100, "plRegistered_notes": "DDD", "plNotGlobEnt": 100, "plNotGlobEnt_notes": "EEE", "report_text": "Zg\u0142o\u015b je\u015bli posiadasz bardziej aktualne dane na temat tego produktu", "report_button_text": "Zg\u0142o\u015b", "report_button_type": "type_white", "is_friend": True, "friend_text": "To jest przyjaciel Poli", "description": "TEST", "sources": {"TEST": "BBBB"}, "donate": { "show_button": True, "url": "https://klubjagiellonski.pl/zbiorka/wspieraj-aplikacje-pola/", "title": "Potrzebujemy 1 zł", }, }, json.loads(response.content), )
def test_code_with_multiple_company(self): current_ean = TEST_EAN13 company1 = CompanyFactory.create(name='test-company1', description='test-description') company2 = CompanyFactory.create(name='test-company2', description='test-description') product = ProductFactory.create(code=current_ean, company=company1, brand__company=company2) with mock.patch("pola.logic.get_by_code", return_value=product): response = get_result_from_code(current_ean) # TODO: Add support for multiple companies in this response expected_response = ( { 'altText': None, 'card_type': 'type_grey', 'code': '5900084231145', 'description': 'test-description', 'is_friend': False, 'name': company1.official_name, 'plCapital': None, 'plCapital_notes': None, 'plNotGlobEnt': None, 'plNotGlobEnt_notes': None, 'plRegistered': None, 'plRegistered_notes': None, 'plRnD': None, 'plRnD_notes': None, 'plScore': None, 'plWorkers': None, 'plWorkers_notes': None, 'product_id': product.id, 'report_button_text': 'Zgłoś', 'report_button_type': 'type_white', 'report_text': ('Zgłoś jeśli posiadasz bardziej aktualne dane na temat tego produktu'), 'sources': {}, }, {"was_590": True, "was_plScore": False, "was_verified": False}, product, ) self.maxDiff = None self.assertEqual(expected_response[0], response[0]) self.assertEqual(expected_response, response)
def test_example_file(self): CompanyFactory(nip="1234566789") CompanyFactory(nip="7220002329") out = StringIO() call_command('import_brands', EXAMPLE_FILE, "1234566789", interactive=False, stdout=out) self.assertIn( 'Successfully created brand Pilos \n' 'Company with nip 7010399415 does not exist. Script will create a new company with name: ' 'Mazowiecka Sp.Mlecz. nip: 7010399415\n' 'Successfully created product Jogurt pitny 1,5%, czerwona pomarańcza\n' 'Successfully created product Jogurt pitny 1,5%, żurawina\n' 'Product with name Serek twarogowy plastry, z ziołami has multiple ean codes: ' '20387754, 20980368. Script will create/update multiple products, one for each code.\n' 'Successfully created product Serek twarogowy plastry, z ziołami\n' 'Successfully created product Serek twarogowy plastry, z ziołami\n' 'Processed 3 products successful.', strip_ansi_escape_sequence(out.getvalue()).strip(), ) self.assertTrue(Company.objects.filter(nip="7010399415", name="Mazowiecka Sp.Mlecz.").exists()) self.assertTrue(Company.objects.filter(nip="7220002329").exists()) self.assertEqual(4, Product.objects.filter(code__in=["20268190", "20268176", "20387754", "20980368"]).count()) self.assertTrue(Brand.objects.filter(common_name="Pilos").exists())
class TestCompanyUpdateWeb(WebTestMixin, TestCase): def setUp(self): super().setUp() self.instance = CompanyFactory(name="company_name") self.url = reverse('company:edit', kwargs={'pk': self.instance.pk}) self.user = StaffFactory() def test_form_success(self): page = self.app.get(self.url, user=self.user) page.form['official_name'] = "New name" page.form['commit_desc'] = "Commit description" page = page.form.submit() self.assertRedirects(page, self.instance.get_absolute_url()) self.instance.refresh_from_db() versions = Version.objects.get_for_object(self.instance) self.assertEqual(versions[0].revision.comment, "Commit description") self.assertEqual(versions[0].revision.user, self.user) self.assertEqual(self.instance.official_name, "New name") @override_settings(LANGUAGE_CODE='en-EN') def test_form_commit_desc_required(self): page = self.app.get(self.url, user=self.user) page.form['official_name'] = "New name" page = page.form.submit() self.assertContains(page, "This field is required.") page.form['commit_desc'] = "AAA" page = page.form.submit() self.assertRedirects(page, self.instance.get_absolute_url()) @override_settings(LANGUAGE_CODE='en-EN') def test_form_readonly_fields(self): page = self.app.get(self.url, user=self.user) self.assertEqual(page.form['name'].attrs['disabled'], 'true') page.form['name'] = "789789789" page.form['commit_desc'] = "Commit desc" page = page.form.submit() self.assertRedirects(page, self.instance.get_absolute_url()) self.instance.refresh_from_db() self.assertEqual(self.instance.name, "company_name")
def test_should_return_200_when_polish_and_known_product(self): c = CompanyFactory.create( plCapital=100, plWorkers=0, plRnD=100, plRegistered=100, plNotGlobEnt=100, description="KOTEK", sources="KOTEK|BBBB", verified=True, is_friend=True, plCapital_notes="AA", plWorkers_notes="BBB", plRnD_notes="CCC", plRegistered_notes="DDD", plNotGlobEnt_notes="EEEE", ) p = ProductFactory.create(code=5900049011829, company=c, brand=None) response = self.json_request(self.url + "?device_id=TEST-DEVICE-ID&code=" + str(p.code)) self.assertEqual(200, response.status_code)
def test_increment_company_query_counter(self, get_by_code_mock): c = CompanyFactory() p = ProductFactory(code=self.code, company=c) get_by_code_mock.return_value = p self.assertEqual(c.query_count, 0) self.client.get(self.url, {'device_id': 123}) c.refresh_from_db() self.assertEqual(c.query_count, 1) self.client.get(self.url, {'device_id': 123}) c.refresh_from_db() self.assertEqual(c.query_count, 2)
def setUp(self): self.aem_admin = UserFactory.create(group=AemGroupFactory.create( slug_field=settings.AEM_ADMIN_SLUG_FIELD, linked_group__name=settings.AEM_ADMIN_LINKED_GROUP_NAME, can_add_permission_slugs=settings. AEM_ADMIN_CAN_ADD_USER_PERMISSIONS, client_permissions=settings.AEM_ADMIN_CLIENT_PERMISSIONS, customer_permissions=settings.AEM_ADMIN_CUSTOMER_PERMISSIONS, company_permissions=settings.AEM_ADMIN_COMPANY_PERMISSIONS)) self.aem_employee = UserFactory.create(group=AemGroupFactory.create( slug_field=settings.AEM_EMPLOYEE_SLUG_FIELD, linked_group__name=settings.AEM_EMPLOYEE_LINKED_GROUP_NAME, can_add_permission_slugs=settings. AEM_EMPLOYEE_CAN_ADD_USER_PERMISSIONS, client_permissions=settings.AEM_EMPLOYEE_CLIENT_PERMISSIONS, customer_permissions=settings.AEM_EMPLOYEE_CUSTOMER_PERMISSIONS, company_permissions=settings.AEM_EMPLOYEE_COMPANY_PERMISSIONS)) client_company = CompanyFactory.create() self.aem_customer_super_user = UserFactory.create( company=client_company, group=AemGroupFactory.create( slug_field=settings.AEM_CUSTOMER_SUPER_USER_SLUG_FIELD, linked_group__name=settings. AEM_CUSTOMER_SUPER_USER_LINKED_GROUP_NAME, can_add_permission_slugs=settings. AEM_CUSTOMER_SUPER_USER_CAN_ADD_USER_PERMISSIONS, client_permissions=settings. AEM_CUSTOMER_SUPER_USER_CLIENT_PERMISSIONS, customer_permissions=settings. AEM_CUSTOMER_SUPER_USER_CUSTOMER_PERMISSIONS, company_permissions=settings. AEM_CUSTOMER_SUPER_USER_COMPANY_PERMISSIONS)) self.aem_customer_admin = UserFactory.create( company=client_company, group=AemGroupFactory.create( slug_field=settings.AEM_CUSTOMER_ADMIN_SLUG_FIELD, linked_group__name=settings. AEM_CUSTOMER_ADMIN_LINKED_GROUP_NAME, can_add_permission_slugs=settings. AEM_CUSTOMER_ADMIN_CAN_ADD_USER_PERMISSIONS, client_permissions=settings. AEM_CUSTOMER_ADMIN_CLIENT_PERMISSIONS, customer_permissions=settings. AEM_CUSTOMER_ADMIN_CUSTOMER_PERMISSIONS, company_permissions=settings. AEM_CUSTOMER_ADMIN_COMPANY_PERMISSIONS)) self.aem_customer_user = UserFactory.create( company=client_company, group=AemGroupFactory.create( slug_field=settings.AEM_CUSTOMER_USER_SLUG_FIELD, linked_group__name=settings. AEM_CUSTOMER_USER_LINKED_GROUP_NAME, can_add_permission_slugs=settings. AEM_CUSTOMER_USER_CAN_ADD_USER_PERMISSIONS, client_permissions=settings. AEM_CUSTOMER_USER_CLIENT_PERMISSIONS, customer_permissions=settings. AEM_CUSTOMER_USER_CUSTOMER_PERMISSIONS, company_permissions=settings. AEM_CUSTOMER_USER_COMPANY_PERMISSIONS))
def setUp(self): super().setUp() self.instance = ProductFactory(code="123") self.company = CompanyFactory() self.url = reverse('product:edit', args=[self.instance.code])
def setUp(self): super().setUp() self.company = CompanyFactory()
def setUp(self): super().setUp() self.instance = CompanyFactory(name="company_name") self.url = reverse('company:edit', kwargs={'pk': self.instance.pk}) self.user = StaffFactory()
def setUp(self): super().setUp() self.instance = CompanyFactory()
def test_empty_file(self): CompanyFactory(nip="1234566789") out = StringIO() with NamedTemporaryFile() as tmp_file: call_command('import_brands', tmp_file.name, "1234566789", interactive=False, stdout=out) self.assertIn("Empty file. Nothing to do", strip_ansi_escape_sequence(out.getvalue()))
def setUp(self): super(InstanceMixin, self).setUp() self.instance = CompanyFactory()
def test_existings_compnay_in_db(self, mock_tool): CompanyFactory(nip=123) mock_tool.return_value = [self._get_mock()] data = {'is_krs' : '1', 'no': 123} form = CompanyCreateFromKRSForm(data=data) self.assertFalse(form.is_valid())
def setUp(self): super(ConcurencyComapnyUpdateTestCase, self).setUp() self.instance = CompanyFactory()