channel-app 0.0.153__tar.gz → 0.0.154__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. {channel_app-0.0.153/channel_app.egg-info → channel_app-0.0.154}/PKG-INFO +6 -2
  2. channel_app-0.0.154/bitbucket-pipelines.yml +24 -0
  3. {channel_app-0.0.153 → channel_app-0.0.154}/channel_app/omnitron/commands/orders/addresses.py +2 -2
  4. {channel_app-0.0.153 → channel_app-0.0.154}/channel_app/omnitron/commands/tests/test_orders.py +58 -5
  5. {channel_app-0.0.153 → channel_app-0.0.154/channel_app.egg-info}/PKG-INFO +7 -3
  6. {channel_app-0.0.153 → channel_app-0.0.154}/setup.py +1 -1
  7. channel_app-0.0.153/bitbucket-pipelines.yml +0 -14
  8. {channel_app-0.0.153 → channel_app-0.0.154}/.gitignore +0 -0
  9. {channel_app-0.0.153 → channel_app-0.0.154}/.vscode/settings.json +0 -0
  10. {channel_app-0.0.153 → channel_app-0.0.154}/Makefile +0 -0
  11. {channel_app-0.0.153 → channel_app-0.0.154}/Procfile-dist +0 -0
  12. {channel_app-0.0.153 → channel_app-0.0.154}/README.md +0 -0
  13. {channel_app-0.0.153 → channel_app-0.0.154}/akinon.json-dist +0 -0
  14. {channel_app-0.0.153 → channel_app-0.0.154}/build.sh-dist +0 -0
  15. {channel_app-0.0.153 → channel_app-0.0.154}/channel_app/__init__.py +0 -0
  16. {channel_app-0.0.153 → channel_app-0.0.154}/channel_app/app/__init__.py +0 -0
  17. {channel_app-0.0.153 → channel_app-0.0.154}/channel_app/app/order/__init__.py +0 -0
  18. {channel_app-0.0.153 → channel_app-0.0.154}/channel_app/app/order/service.py +0 -0
  19. {channel_app-0.0.153 → channel_app-0.0.154}/channel_app/app/product/__init__.py +0 -0
  20. {channel_app-0.0.153 → channel_app-0.0.154}/channel_app/app/product/service.py +0 -0
  21. {channel_app-0.0.153 → channel_app-0.0.154}/channel_app/app/product_image/__init__.py +0 -0
  22. {channel_app-0.0.153 → channel_app-0.0.154}/channel_app/app/product_image/service.py +0 -0
  23. {channel_app-0.0.153 → channel_app-0.0.154}/channel_app/app/product_price/__init__.py +0 -0
  24. {channel_app-0.0.153 → channel_app-0.0.154}/channel_app/app/product_price/service.py +0 -0
  25. {channel_app-0.0.153 → channel_app-0.0.154}/channel_app/app/product_stock/__init__.py +0 -0
  26. {channel_app-0.0.153 → channel_app-0.0.154}/channel_app/app/product_stock/service.py +0 -0
  27. {channel_app-0.0.153 → channel_app-0.0.154}/channel_app/app/setup/__init__.py +0 -0
  28. {channel_app-0.0.153 → channel_app-0.0.154}/channel_app/app/setup/service.py +0 -0
  29. {channel_app-0.0.153 → channel_app-0.0.154}/channel_app/channel/__init__.py +0 -0
  30. {channel_app-0.0.153 → channel_app-0.0.154}/channel_app/channel/commands/__init__.py +0 -0
  31. {channel_app-0.0.153 → channel_app-0.0.154}/channel_app/channel/commands/orders/__init__.py +0 -0
  32. {channel_app-0.0.153 → channel_app-0.0.154}/channel_app/channel/commands/orders/orders.py +0 -0
  33. {channel_app-0.0.153 → channel_app-0.0.154}/channel_app/channel/commands/product_categories.py +0 -0
  34. {channel_app-0.0.153 → channel_app-0.0.154}/channel_app/channel/commands/product_images.py +0 -0
  35. {channel_app-0.0.153 → channel_app-0.0.154}/channel_app/channel/commands/product_prices.py +0 -0
  36. {channel_app-0.0.153 → channel_app-0.0.154}/channel_app/channel/commands/product_stocks.py +0 -0
  37. {channel_app-0.0.153 → channel_app-0.0.154}/channel_app/channel/commands/products.py +0 -0
  38. {channel_app-0.0.153 → channel_app-0.0.154}/channel_app/channel/commands/setup.py +0 -0
  39. {channel_app-0.0.153 → channel_app-0.0.154}/channel_app/channel/integration.py +0 -0
  40. {channel_app-0.0.153 → channel_app-0.0.154}/channel_app/core/__init__.py +0 -0
  41. {channel_app-0.0.153 → channel_app-0.0.154}/channel_app/core/clients.py +0 -0
  42. {channel_app-0.0.153 → channel_app-0.0.154}/channel_app/core/commands.py +0 -0
  43. {channel_app-0.0.153 → channel_app-0.0.154}/channel_app/core/data.py +0 -0
  44. {channel_app-0.0.153 → channel_app-0.0.154}/channel_app/core/integration.py +0 -0
  45. {channel_app-0.0.153 → channel_app-0.0.154}/channel_app/core/products.py +0 -0
  46. {channel_app-0.0.153 → channel_app-0.0.154}/channel_app/core/settings.py +0 -0
  47. {channel_app-0.0.153 → channel_app-0.0.154}/channel_app/core/tests.py +0 -0
  48. {channel_app-0.0.153 → channel_app-0.0.154}/channel_app/core/utilities.py +0 -0
  49. {channel_app-0.0.153 → channel_app-0.0.154}/channel_app/omnitron/__init__.py +0 -0
  50. {channel_app-0.0.153 → channel_app-0.0.154}/channel_app/omnitron/batch_request.py +0 -0
  51. {channel_app-0.0.153 → channel_app-0.0.154}/channel_app/omnitron/commands/__init__.py +0 -0
  52. {channel_app-0.0.153 → channel_app-0.0.154}/channel_app/omnitron/commands/batch_requests.py +0 -0
  53. {channel_app-0.0.153 → channel_app-0.0.154}/channel_app/omnitron/commands/error_reports.py +0 -0
  54. {channel_app-0.0.153 → channel_app-0.0.154}/channel_app/omnitron/commands/integration_actions.py +0 -0
  55. {channel_app-0.0.153 → channel_app-0.0.154}/channel_app/omnitron/commands/orders/__init__.py +0 -0
  56. {channel_app-0.0.153 → channel_app-0.0.154}/channel_app/omnitron/commands/orders/cargo_companies.py +0 -0
  57. {channel_app-0.0.153 → channel_app-0.0.154}/channel_app/omnitron/commands/orders/customers.py +0 -0
  58. {channel_app-0.0.153 → channel_app-0.0.154}/channel_app/omnitron/commands/orders/orders.py +0 -0
  59. {channel_app-0.0.153 → channel_app-0.0.154}/channel_app/omnitron/commands/product_categories.py +0 -0
  60. {channel_app-0.0.153 → channel_app-0.0.154}/channel_app/omnitron/commands/product_images.py +0 -0
  61. {channel_app-0.0.153 → channel_app-0.0.154}/channel_app/omnitron/commands/product_prices.py +0 -0
  62. {channel_app-0.0.153 → channel_app-0.0.154}/channel_app/omnitron/commands/product_stocks.py +0 -0
  63. {channel_app-0.0.153 → channel_app-0.0.154}/channel_app/omnitron/commands/products.py +0 -0
  64. {channel_app-0.0.153 → channel_app-0.0.154}/channel_app/omnitron/commands/setup.py +0 -0
  65. {channel_app-0.0.153 → channel_app-0.0.154}/channel_app/omnitron/commands/tests/__init__.py +0 -0
  66. {channel_app-0.0.153 → channel_app-0.0.154}/channel_app/omnitron/commands/tests/test_product_images.py +0 -0
  67. {channel_app-0.0.153 → channel_app-0.0.154}/channel_app/omnitron/commands/tests/test_product_prices.py +0 -0
  68. {channel_app-0.0.153 → channel_app-0.0.154}/channel_app/omnitron/commands/tests/test_product_stocks.py +0 -0
  69. {channel_app-0.0.153 → channel_app-0.0.154}/channel_app/omnitron/commands/tests/test_products.py +0 -0
  70. {channel_app-0.0.153 → channel_app-0.0.154}/channel_app/omnitron/constants.py +0 -0
  71. {channel_app-0.0.153 → channel_app-0.0.154}/channel_app/omnitron/exceptions.py +0 -0
  72. {channel_app-0.0.153 → channel_app-0.0.154}/channel_app/omnitron/integration.py +0 -0
  73. {channel_app-0.0.153 → channel_app-0.0.154}/channel_app.egg-info/SOURCES.txt +0 -0
  74. {channel_app-0.0.153 → channel_app-0.0.154}/channel_app.egg-info/dependency_links.txt +0 -0
  75. {channel_app-0.0.153 → channel_app-0.0.154}/channel_app.egg-info/requires.txt +0 -0
  76. {channel_app-0.0.153 → channel_app-0.0.154}/channel_app.egg-info/top_level.txt +0 -0
  77. {channel_app-0.0.153 → channel_app-0.0.154}/docs/Makefile +0 -0
  78. {channel_app-0.0.153 → channel_app-0.0.154}/docs/make.bat +0 -0
  79. {channel_app-0.0.153 → channel_app-0.0.154}/docs/requirements.txt +0 -0
  80. {channel_app-0.0.153 → channel_app-0.0.154}/docs/source/architecture.rst +0 -0
  81. {channel_app-0.0.153 → channel_app-0.0.154}/docs/source/command_reference.rst +0 -0
  82. {channel_app-0.0.153 → channel_app-0.0.154}/docs/source/conf.py +0 -0
  83. {channel_app-0.0.153 → channel_app-0.0.154}/docs/source/flows.rst +0 -0
  84. {channel_app-0.0.153 → channel_app-0.0.154}/docs/source/images/async.png +0 -0
  85. {channel_app-0.0.153 → channel_app-0.0.154}/docs/source/images/batch_request_state_machine.png +0 -0
  86. {channel_app-0.0.153 → channel_app-0.0.154}/docs/source/images/sync.png +0 -0
  87. {channel_app-0.0.153 → channel_app-0.0.154}/docs/source/index.rst +0 -0
  88. {channel_app-0.0.153 → channel_app-0.0.154}/docs/source/installation_and_usage.rst +0 -0
  89. {channel_app-0.0.153 → channel_app-0.0.154}/docs/source/terminology.rst +0 -0
  90. {channel_app-0.0.153 → channel_app-0.0.154}/requirements-dev.txt +0 -0
  91. {channel_app-0.0.153 → channel_app-0.0.154}/requirements.txt +0 -0
  92. {channel_app-0.0.153 → channel_app-0.0.154}/setup.cfg +0 -0
  93. {channel_app-0.0.153 → channel_app-0.0.154}/tox.ini +0 -0
@@ -1,10 +1,14 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: channel_app
3
- Version: 0.0.153
3
+ Version: 0.0.154
4
4
  Summary: Channel app for Sales Channels
5
5
  Home-page: https://github.com/akinon/channel_app
6
6
  Author: akinonteam
7
+ License: UNKNOWN
8
+ Platform: UNKNOWN
7
9
  Classifier: Development Status :: 5 - Production/Stable
8
10
  Requires-Python: >=3.5
9
11
  Description-Content-Type: text/markdown
10
- Requires-Dist: requests
12
+
13
+ UNKNOWN
14
+
@@ -0,0 +1,24 @@
1
+ image: python:3.8.10
2
+
3
+ pipelines:
4
+ pull-requests:
5
+ '**':
6
+ - step:
7
+ name: Test
8
+ caches:
9
+ - pip
10
+ script:
11
+ - python -m pip install --upgrade setuptools
12
+ - make install && make install-dev
13
+ - make test
14
+ - make coverage
15
+ tags:
16
+ '*':
17
+ - step:
18
+ name: Publish to PyPI
19
+ image: python:3.7-alpine
20
+ script:
21
+ - apk add gcc git libffi-dev musl-dev openssl-dev python3-dev
22
+ - pip install setuptools setuptools_scm twine
23
+ - python setup.py sdist bdist_wheel
24
+ - twine upload -u __token__ -p $PYPI_TOKEN --skip-existing dist/*
@@ -60,8 +60,8 @@ class GetOrCreateAddress(OmnitronCommandInterface):
60
60
  data = {
61
61
  "email": address.email[:254],
62
62
  "phone_number": address.phone_number[:128],
63
- "first_name": customer.first_name[:255],
64
- "last_name": customer.last_name[:255],
63
+ "first_name": (address.first_name or customer.first_name)[:255],
64
+ "last_name": (address.last_name or customer.last_name)[:255],
65
65
  "customer": customer.pk,
66
66
  "country": country_pk,
67
67
  "city": city_pk,
@@ -8,10 +8,19 @@ from omnisdk.omnitron.endpoints import (
8
8
  ChannelOrderItemEndpoint,
9
9
  ChannelCancellationRequestEndpoint,
10
10
  ChannelBatchRequestEndpoint)
11
- from omnisdk.omnitron.models import CancellationRequest
12
-
13
- from channel_app.core.data import CancellationRequestDto, CustomerDto, OrderBatchRequestResponseDto
11
+ from omnisdk.omnitron.models import (
12
+ CancellationRequest,
13
+ Customer
14
+ )
15
+
16
+ from channel_app.core.data import (
17
+ AddressDto,
18
+ CancellationRequestDto,
19
+ CustomerDto,
20
+ OrderBatchRequestResponseDto,
21
+ )
14
22
  from channel_app.core.tests import BaseTestCaseMixin
23
+ from channel_app.omnitron.commands.orders.addresses import GetOrCreateAddress
15
24
  from channel_app.omnitron.commands.orders.cargo_companies import GetCargoCompany
16
25
  from channel_app.omnitron.commands.orders.customers import GetOrCreateCustomer
17
26
  from channel_app.omnitron.commands.orders.orders import (
@@ -20,11 +29,12 @@ from channel_app.omnitron.commands.orders.orders import (
20
29
  GetOrderItems,
21
30
  GetOrderItemsWithOrder,
22
31
  ProcessOrderBatchRequests,
23
- ChannelIntegrationActionEndpoint)
32
+ )
24
33
  from channel_app.omnitron.constants import (
25
34
  BatchRequestStatus,
26
35
  CancellationType,
27
- CustomerIdentifierField)
36
+ CustomerIdentifierField
37
+ )
28
38
 
29
39
 
30
40
  class TestProcessOrderBatchRequests(BaseTestCaseMixin):
@@ -338,6 +348,49 @@ class TestGetOrCreateCustomer(BaseTestCaseMixin):
338
348
  self.assertEqual(getattr(customer, key), value)
339
349
 
340
350
 
351
+ class TestGetOrCreateAddress(BaseTestCaseMixin):
352
+ """
353
+ Test case for GetOrCreateAddress
354
+
355
+ run: python -m unittest channel_app.omnitron.commands.tests.test_orders.TestGetOrCreateAddress
356
+ """
357
+
358
+ def setUp(self) -> None:
359
+ self.instance = GetOrCreateAddress(
360
+ integration=self.mock_integration,
361
+ )
362
+ self.instance.objects = {}
363
+ self.instance.objects["address"]: AddressDto = AddressDto(
364
+ email="john.doe@akinon.com",
365
+ phone_number="05556667788",
366
+ first_name="John",
367
+ last_name="Doe",
368
+ country="1",
369
+ city="80",
370
+ line="Hemen sahil kenarı"
371
+ )
372
+ self.instance.objects["customer"]: Customer = Customer(
373
+ pk="1",
374
+ first_name="Customer John",
375
+ last_name="Customer Doe",
376
+ )
377
+
378
+
379
+ @patch.object(GetOrCreateAddress, 'get_location_objects')
380
+ def test_get_data(self, mock_get_location_objects):
381
+ mock_get_location_objects.return_value = (1, 80, None, None)
382
+ data = self.instance.get_data()
383
+
384
+ self.assertEqual(
385
+ data["first_name"],
386
+ self.instance.objects["address"].first_name
387
+ )
388
+ self.assertEqual(
389
+ data["last_name"],
390
+ self.instance.objects["address"].last_name
391
+ )
392
+
393
+
341
394
  class TestGetCargoCompany(BaseTestCaseMixin):
342
395
  """
343
396
  Test case for GetCargoCompany
@@ -1,10 +1,14 @@
1
1
  Metadata-Version: 2.1
2
- Name: channel_app
3
- Version: 0.0.153
2
+ Name: channel-app
3
+ Version: 0.0.154
4
4
  Summary: Channel app for Sales Channels
5
5
  Home-page: https://github.com/akinon/channel_app
6
6
  Author: akinonteam
7
+ License: UNKNOWN
8
+ Platform: UNKNOWN
7
9
  Classifier: Development Status :: 5 - Production/Stable
8
10
  Requires-Python: >=3.5
9
11
  Description-Content-Type: text/markdown
10
- Requires-Dist: requests
12
+
13
+ UNKNOWN
14
+
@@ -5,7 +5,7 @@ with open("README.md") as f:
5
5
 
6
6
  setup(
7
7
  name="channel_app",
8
- version="0.0.153",
8
+ version="0.0.154",
9
9
  packages=find_packages(),
10
10
  url="https://github.com/akinon/channel_app",
11
11
  description="Channel app for Sales Channels",
@@ -1,14 +0,0 @@
1
- image: python:3.8.10
2
-
3
- pipelines:
4
- pull-requests:
5
- '**':
6
- - step:
7
- name: Test
8
- caches:
9
- - pip
10
- script:
11
- - python -m pip install --upgrade setuptools
12
- - make install && make install-dev
13
- - make test
14
- - make coverage
File without changes
File without changes
File without changes
File without changes
File without changes