96 |
96 |
{
|
97 |
97 |
'form_receipt_datetime': '2019-10-17T16:46:03',
|
98 |
98 |
'form_url_backoffice': '/backoffice/management/foobar/1/',
|
|
99 |
'category_slug': 'test-3',
|
99 |
100 |
},
|
100 |
101 |
{
|
101 |
102 |
'form_receipt_datetime': '2019-10-17T16:46:04',
|
102 |
103 |
'form_url_backoffice': '/backoffice/management/foobar/2/',
|
|
104 |
'category_slug': 'test-4',
|
103 |
105 |
},
|
104 |
106 |
]
|
105 |
107 |
|
... | ... | |
719 |
721 |
|
720 |
722 |
assert 'http://127.0.0.1:8999/backoffice/management/foobar/1' in result
|
721 |
723 |
assert 'http://127.0.0.1:8999/backoffice/management/foobar/2' in result
|
722 |
|
assert '"http://127.0.0.1:8999/backoffice/management/"' in result
|
|
724 |
assert '"http://127.0.0.1:8999/backoffice/management/listing"' in result
|
723 |
725 |
assert 'http://127.0.0.2:8999/backoffice/management/foobar/1' in result
|
724 |
726 |
assert 'http://127.0.0.2:8999/backoffice/management/foobar/2' in result
|
725 |
|
assert '"http://127.0.0.2:8999/backoffice/management/"' in result
|
|
727 |
assert '"http://127.0.0.2:8999/backoffice/management/listing"' in result
|
726 |
728 |
|
727 |
729 |
data = cell.get_data(context)
|
728 |
730 |
assert 'default' in data
|
729 |
731 |
assert 'other' in data
|
730 |
732 |
|
|
733 |
# limit to a category
|
|
734 |
cell.categories = {'data': ['default:test-3', 'other:test-4']}
|
|
735 |
|
|
736 |
result = cell.render(context)
|
|
737 |
assert 'http://127.0.0.1:8999/backoffice/management/foobar/1' in result
|
|
738 |
assert 'http://127.0.0.1:8999/backoffice/management/foobar/2' not in result
|
|
739 |
assert '"http://127.0.0.1:8999/backoffice/management/listing?category_slugs=test-3"' in result
|
|
740 |
assert 'http://127.0.0.2:8999/backoffice/management/foobar/1' not in result
|
|
741 |
assert 'http://127.0.0.2:8999/backoffice/management/foobar/2' in result
|
|
742 |
assert '"http://127.0.0.2:8999/backoffice/management/listing?category_slugs=test-4"' in result
|
|
743 |
|
731 |
744 |
|
732 |
745 |
def test_care_forms_cell_validity(context):
|
733 |
746 |
page = Page.objects.create(title='xxx', slug='test_care_forms_cell_render', template_name='standard')
|
... | ... | |
767 |
780 |
assert validity_info.invalid_since is not None
|
768 |
781 |
|
769 |
782 |
|
|
783 |
@mock.patch('combo.apps.wcs.utils.requests.send', side_effect=mocked_requests_send)
|
|
784 |
def test_care_forms_cell_check_validity(mock_send, context):
|
|
785 |
page = Page.objects.create(title='xxx', slug='test_care_forms_cell_render', template_name='standard')
|
|
786 |
cell = WcsCareFormsCell.objects.create(page=page, placeholder='content', order=0)
|
|
787 |
|
|
788 |
# no category
|
|
789 |
cell.check_validity()
|
|
790 |
assert ValidityInfo.objects.exists() is False
|
|
791 |
|
|
792 |
# valid categories
|
|
793 |
cell.categories = {'data': ['default:test-3', 'default:test-9']}
|
|
794 |
cell.save()
|
|
795 |
cell.check_validity()
|
|
796 |
assert ValidityInfo.objects.exists() is False
|
|
797 |
|
|
798 |
# can not retrieve data, don't set cell as invalid
|
|
799 |
with mock.patch('combo.apps.wcs.models.requests.get') as requests_get:
|
|
800 |
mock_resp = Response()
|
|
801 |
mock_resp.status_code = 500
|
|
802 |
requests_get.return_value = mock_resp
|
|
803 |
cell.check_validity()
|
|
804 |
assert ValidityInfo.objects.exists() is False
|
|
805 |
with mock.patch('combo.apps.wcs.models.requests.get') as requests_get:
|
|
806 |
requests_get.side_effect = ConnectionError()
|
|
807 |
cell.check_validity()
|
|
808 |
assert ValidityInfo.objects.exists() is False
|
|
809 |
|
|
810 |
# can not retrieve categories, don't set cell as invalid
|
|
811 |
with mock.patch('combo.apps.wcs.models.requests.get') as requests_get:
|
|
812 |
mock_resp = Response()
|
|
813 |
mock_resp.status_code = 404
|
|
814 |
requests_get.return_value = mock_resp
|
|
815 |
cell.check_validity()
|
|
816 |
assert ValidityInfo.objects.exists() is False
|
|
817 |
|
|
818 |
# invalid category
|
|
819 |
cell.categories = {'data': ['default:foobar', 'default:test-9']}
|
|
820 |
cell.save()
|
|
821 |
cell.check_validity()
|
|
822 |
validity_info = ValidityInfo.objects.latest('pk')
|
|
823 |
assert validity_info.invalid_reason_code == 'wcs_category_not_found'
|
|
824 |
assert validity_info.invalid_since is not None
|
|
825 |
|
|
826 |
|
770 |
827 |
@mock.patch('combo.apps.wcs.utils.requests.send', side_effect=mocked_requests_send)
|
771 |
828 |
def test_care_forms_cell_render_single_site(mock_send, context):
|
772 |
829 |
page = Page(title='xxx', slug='test_care_forms_cell_render', template_name='standard')
|
... | ... | |
785 |
842 |
context['synchronous'] = True # to get fresh content
|
786 |
843 |
|
787 |
844 |
result = cell.render(context)
|
788 |
|
assert '"http://127.0.0.1:8999/backoffice/management/"' in result
|
789 |
|
assert '"http://127.0.0.2:8999/backoffice/management/"' not in result
|
|
845 |
assert '"http://127.0.0.1:8999/backoffice/management/listing"' in result
|
|
846 |
assert '"http://127.0.0.2:8999/backoffice/management/listing"' not in result
|
790 |
847 |
|
791 |
848 |
data = cell.get_data(context)
|
792 |
849 |
assert 'default' in data
|
... | ... | |
1065 |
1122 |
assert resp.status_int == 302
|
1066 |
1123 |
|
1067 |
1124 |
|
1068 |
|
def test_manager_current_forms(app, admin_user):
|
|
1125 |
@mock.patch('combo.apps.wcs.utils.requests.send', side_effect=mocked_requests_send)
|
|
1126 |
def test_manager_current_forms(mock_send, app, admin_user):
|
1069 |
1127 |
page = Page(title='One', slug='one', template_name='standard')
|
1070 |
1128 |
page.save()
|
1071 |
1129 |
app = login(app)
|
... | ... | |
2017 |
2075 |
klass.objects.create(page=page, placeholder='content', order=0)
|
2018 |
2076 |
for klass in cell_classes:
|
2019 |
2077 |
if klass in [
|
|
2078 |
WcsCareFormsCell,
|
2020 |
2079 |
WcsCurrentFormsCell,
|
2021 |
2080 |
WcsCurrentDraftsCell,
|
2022 |
2081 |
WcsFormsOfCategoryCell,
|
2023 |
|
-
|