Skip to content

Commit

Permalink
test monolithic build separately
Browse files Browse the repository at this point in the history
  • Loading branch information
jrief committed Jun 25, 2024
1 parent 8da82c7 commit bb5e7da
Show file tree
Hide file tree
Showing 22 changed files with 78 additions and 54 deletions.
8 changes: 6 additions & 2 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,9 @@ jobs:
django-version: ["4.2.*", "5.0.*"]
node-version: ["18.x"]
include:
- build-client: "esbuild"
- use-monolithic: "1"
python-version: "3.11"
django-version: "5.0.*"
exclude:
- python-version: "3.10"
django-version: "5.0.*"
Expand Down Expand Up @@ -55,8 +57,10 @@ jobs:
npm run function-code
- name: Build Client
run: |
npm run ${{ matrix.build-client }}
npm run esbuild
npm run esbuild.monolith
npm run compilescss
- name: Test with pytest
run: |
export PYTEST_USE_MONOLITHIC_BUILD=${{ matrix.use-monolithic }}
python -m pytest testapp
2 changes: 1 addition & 1 deletion testapp/templates/testapp/base.html
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
<link href="{% static 'formset/css/collections.css' %}" rel="stylesheet" type="text/css" media="screen">
<link href="{% static 'testapp/css/debug.css' %}" rel="stylesheet" type="text/css" media="screen">
<script src="{% url 'javascript-catalog' %}"></script>
<script type="module" src="{% static 'formset/js/django-formset.js' %}"></script>
<script type="module" src="{% if use_monolithic_build %}{% static 'formset/js/django-formset.monolith.js' %}{% else %}{% static 'formset/js/django-formset.js' %}{% endif %}"></script>
</head>
<body>
<div>
Expand Down
4 changes: 2 additions & 2 deletions testapp/tests/test_e2e_button.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

from formset.views import FormView

from .utils import get_javascript_catalog
from .utils import ContextMixin, get_javascript_catalog


class SampleForm(Form):
Expand All @@ -25,7 +25,7 @@ def clean_enter(self):
return cd


class NativeFormView(FormView):
class NativeFormView(ContextMixin, FormView):
template_name = 'testapp/native-form.html'
form_class = SampleForm
success_url = '/success'
Expand Down
6 changes: 5 additions & 1 deletion testapp/tests/test_e2e_collections.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
from formset.utils import MARKED_FOR_REMOVAL
from formset.views import FormCollectionView

from .utils import get_javascript_catalog
from .utils import ContextMixin, get_javascript_catalog


class PersonForm(forms.Form):
Expand Down Expand Up @@ -115,6 +115,10 @@ class BulkContactCollections(FormCollection):
}]


class FormCollectionView(ContextMixin, FormCollectionView):
success_url='/success'


urlpatterns = [
path('contact', FormCollectionView.as_view(
collection_class=ContactCollection,
Expand Down
4 changes: 2 additions & 2 deletions testapp/tests/test_e2e_datetimepicker.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
from formset.views import FormView
from formset.widgets import DateTimePicker

from .utils import get_javascript_catalog
from .utils import ContextMixin, get_javascript_catalog


class ScheduleForm(forms.Form):
Expand All @@ -25,7 +25,7 @@ class ScheduleForm(forms.Form):
)


class DemoFormView(CalendarResponseMixin, FormView):
class DemoFormView(ContextMixin, CalendarResponseMixin, FormView):
template_name = 'testapp/native-form.html'
form_class = ScheduleForm
success_url = '/success'
Expand Down
4 changes: 2 additions & 2 deletions testapp/tests/test_e2e_datetimerange.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
from formset.views import FormView
from formset.ranges import DateRangeField, DateRangeCalendar, DateTimeRangeField, DateTimeRangePicker

from .utils import get_javascript_catalog
from .utils import ContextMixin, get_javascript_catalog


class BookingForm(forms.Form):
Expand All @@ -34,7 +34,7 @@ class ReservationForm(forms.Form):
)


class DemoFormView(CalendarResponseMixin, FormView):
class DemoFormView(ContextMixin, CalendarResponseMixin, FormView):
template_name = 'testapp/native-form.html'
success_url = '/success'

Expand Down
4 changes: 2 additions & 2 deletions testapp/tests/test_e2e_dialog.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
from formset.fields import Activator
from formset.views import FormCollectionView

from .utils import get_javascript_catalog
from .utils import ContextMixin, get_javascript_catalog


class CustomerForm(forms.Form):
Expand Down Expand Up @@ -41,7 +41,7 @@ class DialogCollection(FormCollection):
click_outside = Activator()


class DialogFormCollectionView(FormCollectionView):
class DialogFormCollectionView(ContextMixin, FormCollectionView):
success_url = '/success'


Expand Down
4 changes: 2 additions & 2 deletions testapp/tests/test_e2e_dialogmodel.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
from formset.views import EditCollectionView
from formset.widgets import Button, Selectize

from .utils import get_javascript_catalog
from .utils import ContextMixin, get_javascript_catalog

from testapp.models import Reporter, IssueModel

Expand Down Expand Up @@ -91,7 +91,7 @@ def construct_instance(self, main_object):
return instance


class IssueCollectionView(EditCollectionView):
class IssueCollectionView(ContextMixin, EditCollectionView):
model = IssueModel
collection_class = EditIssueCollection
template_name = 'testapp/form-collection.html'
Expand Down
6 changes: 3 additions & 3 deletions testapp/tests/test_e2e_dual_selector.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@

from testapp.models import OpinionModel, PollModel

from .utils import get_javascript_catalog
from .utils import ContextMixin, get_javascript_catalog


class WeightedOpinionsForm(models.ModelForm):
Expand All @@ -29,13 +29,13 @@ class Meta:
}


class NativeFormView(IncompleteSelectResponseMixin, FormViewMixin, GenericFormView):
class NativeFormView(ContextMixin, IncompleteSelectResponseMixin, FormViewMixin, GenericFormView):
template_name = 'testapp/native-form.html'
success_url = '/success'
extra_context = {'click_actions': 'submit -> proceed'}


class ModelFormView(IncompleteSelectResponseMixin, FormViewMixin, UpdateView):
class ModelFormView(ContextMixin, IncompleteSelectResponseMixin, FormViewMixin, UpdateView):
template_name = 'testapp/native-form.html'
success_url = '/success'
form_class = WeightedOpinionsForm
Expand Down
4 changes: 2 additions & 2 deletions testapp/tests/test_e2e_fields.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

from formset.views import FormView

from .utils import get_javascript_catalog
from .utils import ContextMixin, get_javascript_catalog


FieldTuple = namedtuple('FieldTuple', ['name', 'field', 'extra_context'])
Expand All @@ -18,7 +18,7 @@ def snake2camel(string):
return ''.join(s.capitalize() for s in string.split('_'))


class NativeFormView(FormView):
class NativeFormView(ContextMixin, FormView):
template_name = 'testapp/native-form.html'
success_url = '/success'

Expand Down
8 changes: 6 additions & 2 deletions testapp/tests/test_e2e_fieldset.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,18 @@
from formset.views import FormCollectionView

from testapp.forms.customer import CustomerCollection
from .utils import get_javascript_catalog
from .utils import ContextMixin, get_javascript_catalog


class FormCollectionView(ContextMixin, FormCollectionView):
success_url = '/success'


urlpatterns = [
path('customer', FormCollectionView.as_view(
collection_class=CustomerCollection,
template_name='testapp/form-collection.html',
success_url='/success',

extra_context = {'click_actions': 'submit -> proceed', 'force_submission': True},
), name='customer'),
get_javascript_catalog(),
Expand Down
4 changes: 2 additions & 2 deletions testapp/tests/test_e2e_form.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

from formset.views import FormView

from .utils import get_javascript_catalog
from .utils import ContextMixin, get_javascript_catalog


class FullNameForm(forms.Form):
Expand All @@ -31,7 +31,7 @@ def clean(self):
return cleaned_data


class DemoFormView(FormView):
class DemoFormView(ContextMixin, FormView):
template_name = 'testapp/native-form.html'
form_class=FullNameForm
success_url = '/success'
Expand Down
6 changes: 5 additions & 1 deletion testapp/tests/test_e2e_nested.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
from formset.collection import FormCollection
from formset.views import FormCollectionView

from .utils import get_javascript_catalog
from .utils import ContextMixin, get_javascript_catalog


class TeamForm(forms.Form):
Expand Down Expand Up @@ -73,6 +73,10 @@ class CompanyCollection1(FormCollection):
}


class FormCollectionView(ContextMixin, FormCollectionView):
success_url = '/success'


urlpatterns = [
path('company_1', FormCollectionView.as_view(
collection_class=CompanyCollection0,
Expand Down
26 changes: 11 additions & 15 deletions testapp/tests/test_e2e_operability.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

from formset.views import FormView

from .utils import get_javascript_catalog
from .utils import ContextMixin, get_javascript_catalog


class QuestionnaireForm(Form):
Expand All @@ -25,25 +25,21 @@ class QuestionnaireForm(Form):
)


class QuestionnaireFormView(ContextMixin, FormView):
form_class = QuestionnaireForm
template_name = 'testapp/native-form.html'
success_url = '/success'


urlpatterns = [
path('questionnaire', FormView.as_view(
form_class=QuestionnaireForm,
template_name='testapp/native-form.html',
success_url='/success',
), name='questionnaire'),
path('questionnaire_initial_male', FormView.as_view(
form_class=QuestionnaireForm,
template_name='testapp/native-form.html',
path('questionnaire', QuestionnaireFormView.as_view(), name='questionnaire'),
path('questionnaire_initial_male', QuestionnaireFormView.as_view(
initial={'full_name': "John Doe", 'gender': 'm'},
), name='questionnaire_initial_male'),
path('questionnaire_initial_female', FormView.as_view(
form_class=QuestionnaireForm,
template_name='testapp/native-form.html',
path('questionnaire_initial_female', QuestionnaireFormView.as_view(
initial={'full_name': "Johanna Doe", 'gender': 'f'},
), name='questionnaire_initial_female'),
path('questionnaire_initial_inapplicable', FormView.as_view(
form_class=QuestionnaireForm,
template_name='testapp/native-form.html',
path('questionnaire_initial_inapplicable', QuestionnaireFormView.as_view(
initial={'full_name': "Company Ltd.", 'gender': 'x'},
), name='questionnaire_initial_inapplicable'),
get_javascript_catalog(),
Expand Down
6 changes: 3 additions & 3 deletions testapp/tests/test_e2e_optgroups.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,15 +14,15 @@
from testapp.forms.county import CountyForm
from testapp.models import County, CountyUnnormalized, State

from .utils import get_javascript_catalog
from .utils import ContextMixin, get_javascript_catalog


class NativeFormView(IncompleteSelectResponseMixin, FormViewMixin, GenericFormView):
class NativeFormView(ContextMixin, IncompleteSelectResponseMixin, FormViewMixin, GenericFormView):
template_name = 'testapp/native-form.html'
success_url = '/success'


class ModelFormView(IncompleteSelectResponseMixin, FormViewMixin, UpdateView):
class ModelFormView(ContextMixin, IncompleteSelectResponseMixin, FormViewMixin, UpdateView):
template_name = 'testapp/native-form.html'
success_url = '/success'
form_class = CountyForm
Expand Down
4 changes: 2 additions & 2 deletions testapp/tests/test_e2e_phonenumber.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
from formset.views import FormView
from formset.widgets import PhoneNumberInput

from .utils import get_javascript_catalog
from .utils import ContextMixin, get_javascript_catalog


class PhoneForm(forms.Form):
Expand All @@ -21,7 +21,7 @@ class PhoneForm(forms.Form):
)


class DemoFormView(FormView):
class DemoFormView(ContextMixin, FormView):
template_name = 'testapp/native-form.html'
success_url = '/success'

Expand Down
4 changes: 2 additions & 2 deletions testapp/tests/test_e2e_preselection.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@

from testapp.models import County, CountyUnnormalized, State

from .utils import get_javascript_catalog
from .utils import ContextMixin, get_javascript_catalog


class NativeFormView(IncompleteSelectResponseMixin, FormViewMixin, GenericFormView):
class NativeFormView(ContextMixin, IncompleteSelectResponseMixin, FormViewMixin, GenericFormView):
template_name = 'testapp/native-form.html'
success_url = '/success'

Expand Down
4 changes: 2 additions & 2 deletions testapp/tests/test_e2e_richtextarea.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
from formset.richtext.widgets import RichTextarea
from formset.views import FormView

from .utils import get_javascript_catalog
from .utils import ContextMixin, get_javascript_catalog


control_elements = [
Expand Down Expand Up @@ -39,7 +39,7 @@ class JSONRichTextForm(forms.Form):
)


class DemoFormView(FormView):
class DemoFormView(ContextMixin, FormView):
template_name = 'testapp/native-form.html'
success_url = '/success'

Expand Down
4 changes: 2 additions & 2 deletions testapp/tests/test_e2e_selectize.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,10 @@

from testapp.models import OpinionModel

from .utils import get_javascript_catalog
from .utils import ContextMixin, get_javascript_catalog


class NativeFormView(FormView):
class NativeFormView(ContextMixin, FormView):
template_name = 'testapp/native-form.html'
success_url = '/success'
extra_context = {'click_actions': 'submit -> proceed'}
Expand Down
4 changes: 2 additions & 2 deletions testapp/tests/test_e2e_slugfield.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@

from testapp.forms.article import ArticleForm

from .utils import get_javascript_catalog
from .utils import ContextMixin, get_javascript_catalog


class DemoFormView(FormView):
class DemoFormView(ContextMixin, FormView):
template_name = 'testapp/native-form.html'
form_class=ArticleForm
success_url = '/success'
Expand Down
4 changes: 2 additions & 2 deletions testapp/tests/test_e2e_upload.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,10 @@

from testapp.forms.upload import UploadForm

from .utils import get_javascript_catalog
from .utils import ContextMixin, get_javascript_catalog


class DemoFormView(FormView):
class DemoFormView(ContextMixin, FormView):
template_name = 'testapp/native-form.html'
form_class=UploadForm
success_url = '/success'
Expand Down
Loading

0 comments on commit bb5e7da

Please sign in to comment.