Closed muhtarcangoktas closed 3 years ago
ListBlockFactory is not working in StruckBockFactory and this case hasn't been tested.
I added new item to items in test_custom_page_streamfield_data_complex
@pytest.mark.django_db def test_custom_page_streamfield_data_complex(): assert Image.objects.count() == 0 root_page = wagtail_factories.PageFactory(parent=None) page = MyTestPageWithStreamFieldFactory( parent=root_page, body__0__char_array__0="foo", body__0__char_array__1="bar", body__2__int_array__0=100, body__1__struct__title="My Title", body__1__struct__item__value=100, body__1__struct__image__image=None, body__3__image__image__title="Blub", body__4__struct__items__0__label="Test", # < Added body__4__struct__items__0__value=200 # < Added ) assert Image.objects.count() == 1 image = Image.objects.first() assert page.body[0].block_type == "char_array" assert page.body[0].value == ["foo", "bar"] assert page.body[1].block_type == "struct" assert page.body[1].value == StructValue( None, [ ("title", "My Title"), ( "item", StructValue(None, [("label", "my-label"), ("value", 100)]), ), ("items", []), ("image", None), ], ) assert page.body[2].block_type == "int_array" assert page.body[2].value == [100] assert page.body[3].block_type == "image" assert page.body[3].value == image content = str(page.body) assert "block-image" in content
Error:
➜ wagtail-factories git:(master) ✗ make test py.test --reuse-db ===================================================================== test session starts ====================================================================== platform darwin -- Python 3.9.0, pytest-6.0.1, py-1.10.0, pluggy-0.13.1 django: settings: tests.settings (from ini) rootdir: /Users/muhtarcangoktas/Code/wagtail-factories, configfile: setup.cfg plugins: django-3.9.0, Faker-8.11.0, cov-2.7.1, pythonpath-0.7.3 collected 22 items tests/test_blocks.py ...F.. [ 27%] tests/test_factories.py ............... [ 95%] tests/test_blocks.py . [100%] =========================================================================== FAILURES =========================================================================== __________________________________________________________ test_custom_page_streamfield_data_complex ___________________________________________________________ @pytest.mark.django_db def test_custom_page_streamfield_data_complex(): assert Image.objects.count() == 0 root_page = wagtail_factories.PageFactory(parent=None) page = MyTestPageWithStreamFieldFactory( parent=root_page, body__0__char_array__0="foo", body__0__char_array__1="bar", body__2__int_array__0=100, body__1__struct__title="My Title", body__1__struct__item__value=100, body__1__struct__image__image=None, body__3__image__image__title="Blub", body__4__struct__items__0__label="Test", body__4__struct__items__0__value=200 ) > assert Image.objects.count() == 1 E assert 2 == 1 E + where 2 = <bound method BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_method of <django.db.models.manager.ManagerFromImageQuerySet object at 0x107f99280>>() E + where <bound method BaseManager._get_queryset_methods.<locals>.create_method.<locals>.manager_method of <django.db.models.manager.ManagerFromImageQuerySet object at 0x107f99280>> = <django.db.models.manager.ManagerFromImageQuerySet object at 0x107f99280>.count E + where <django.db.models.manager.ManagerFromImageQuerySet object at 0x107f99280> = Image.objects tests/test_blocks.py:100: AssertionError ======================================================================= warnings summary ======================================================================= tests/test_factories.py::test_page_multiple_roots /Users/muhtarcangoktas/Code/wagtail-factories/tests/urls.py:6: RemovedInDjango40Warning: django.conf.urls.url() is deprecated in favor of django.urls.re_path(). urlpatterns += [url(r"^", include(wagtail_urls))] -- Docs: https://docs.pytest.org/en/stable/warnings.html =================================================================== short test summary info ==================================================================== FAILED tests/test_blocks.py::test_custom_page_streamfield_data_complex - assert 2 == 1 =========================================================== 1 failed, 21 passed, 1 warning in 2.39s ============================================================ make: *** [test] Error 1
ListBlockFactory is not working in StruckBockFactory and this case hasn't been tested.
I added new item to items in test_custom_page_streamfield_data_complex
Error: