Princeton-CDH / mep-django

Compare 614f5f2 ... +0 ... b0ac51b

Coverage Reach
mep/people/tests/test_views.py mep/people/tests/test_models.py mep/people/tests/test_people_signals.py mep/people/tests/test_admin.py mep/people/tests/test_forms.py mep/people/tests/test_geonames.py mep/people/tests/test_sitemaps.py mep/people/tests/test_people_commands.py mep/people/tests/test_people_migrations.py mep/people/views.py mep/people/models.py mep/people/migrations/0016_generate_person_slugs.py mep/people/migrations/0005_people_address_to_account_address.py mep/people/migrations/0007_location_unique_constraints.py mep/people/migrations/0004_rename_address_to_location.py mep/people/migrations/0003_infer_sex_from_title.py mep/people/migrations/0014_library_location.py mep/people/migrations/0001_initial.py mep/people/migrations/0019_pastpersonslug.py mep/people/migrations/0013_rename_sex_to_gender.py mep/people/migrations/0015_add_person_optional_slug.py mep/people/migrations/0002_add_subtype_choices.py mep/people/migrations/0018_on_delete.py mep/people/migrations/0009_allow_negative_years.py mep/people/migrations/0010_merge_20180621_1810.py mep/people/migrations/0006_update_person_locations.py mep/people/migrations/0008_person_is_organization.py mep/people/migrations/0017_person_require_unique_slugs.py mep/people/migrations/0009_person_updated_at.py mep/people/migrations/0011_person_verified.py mep/people/migrations/0012_add_public_notes.py mep/people/admin.py mep/people/management/commands/export_members.py mep/people/geonames.py mep/people/sitemaps.py mep/people/forms.py mep/people/queryset.py mep/people/apps.py mep/people/urls.py mep/people/__init__.py mep/accounts/tests/test_accounts_models.py mep/accounts/tests/test_accounts_commands.py mep/accounts/tests/test_twitterbot_100years.py mep/accounts/tests/test_partial_date.py mep/accounts/tests/test_accounts_migrations.py mep/accounts/tests/test_accounts_admin.py mep/accounts/tests/test_accounts_views.py mep/accounts/tests/test_account_templatetags.py mep/accounts/management/commands/twitterbot_100years.py mep/accounts/management/commands/import_figgy_cards.py mep/accounts/management/commands/report_timegaps.py mep/accounts/management/commands/export_events.py mep/accounts/migrations/0025_subevent_item_to_generic.py mep/accounts/migrations/0028_generic_event_partial_dates.py mep/accounts/migrations/0008_flag_duplicate_events.py mep/accounts/migrations/0033_subscription_purchase_date_adjustments.py mep/accounts/migrations/0004_subtype_choices_to_subscription_type_foreignkey.py mep/accounts/migrations/0015_fix_subscription_durations.py mep/accounts/migrations/0012_recalculate_durations.py mep/accounts/migrations/0010_set_reimbursement_end_date_from_start.py mep/accounts/migrations/0001_initial.py mep/accounts/migrations/0022_add_partial_date_purchase.py mep/accounts/migrations/0019_allow_null_precision.py mep/accounts/migrations/0015_borrow_event_rel_item.py mep/accounts/migrations/0021_account_card.py mep/accounts/migrations/0027_address_partial_dates.py mep/accounts/migrations/0029_event_item_to_work.py mep/accounts/migrations/0014_add_address_rel_to_person.py mep/accounts/migrations/0030_event_edition.py mep/accounts/migrations/0003_new_subscription_type_model_foreignkey.py mep/accounts/migrations/0024_event_generic_item.py mep/accounts/migrations/0016_add_borrow_date_precision.py mep/accounts/migrations/0002_field_adjustments_logbook_import.py mep/accounts/migrations/0009_event_ordering_reimbursement_price_to_refund.py mep/accounts/migrations/0011_subscription_duration_to_days.py mep/accounts/migrations/0006_rename_subscribe_and_modification.py mep/accounts/migrations/0032_subscription_add_purchase_date.py mep/accounts/migrations/0018_merge_20180418_1607.py mep/accounts/migrations/0023_optional_price.py mep/accounts/migrations/0007_currency_default_to_franc.py mep/accounts/migrations/0026_rm_subevent_item_rename_generic_item.py mep/accounts/migrations/0017_revise_purchase_from_borrow.py mep/accounts/migrations/0020_convert_bought_to_item_status.py mep/accounts/migrations/0005_remove_subscribe_sub_type.py mep/accounts/migrations/0013_rename_accountaddress_to_address.py mep/accounts/migrations/0031_on_delete.py mep/accounts/models.py mep/accounts/admin.py mep/accounts/partial_date.py mep/accounts/event_set.py mep/accounts/views.py mep/accounts/templatetags/account_tags.py mep/accounts/templatetags/mep_100years_tags.py mep/accounts/apps.py mep/accounts/urls.py mep/accounts/__init__.py mep/books/tests/test_books_models.py mep/books/tests/test_books_views.py mep/books/tests/test_books_commands.py mep/books/tests/test_oclc.py mep/books/tests/test_books_migrations.py mep/books/tests/test_books_admin.py mep/books/tests/test_books_signals.py mep/books/tests/test_books_utils.py mep/books/tests/test_books_forms.py mep/books/tests/test_books_queryset.py mep/books/models.py mep/books/migrations/0022_generate_work_slugs.py mep/books/migrations/0018_edition_date_to_partial.py mep/books/migrations/0021_creator_type_order.py mep/books/migrations/0016_group_works_by_uri.py mep/books/migrations/0025_populate_sort_title.py mep/books/migrations/0010_add_initial_formats.py mep/books/migrations/0003_initial_creator_types.py mep/books/migrations/0001_initial.py mep/books/migrations/0002_refactor_item_creators.py mep/books/migrations/0015_split_work_edition.py mep/books/migrations/0017_edition_details.py mep/books/migrations/0009_item_format.py mep/books/migrations/0011_item_multiple_genres.py mep/books/migrations/0014_item_to_work.py mep/books/migrations/0008_add_oclc_item_fields.py mep/books/migrations/0013_item_ebook_url.py mep/books/migrations/0019_edition_remove_year.py mep/books/migrations/0007_item_updated_at.py mep/books/migrations/0006_item_creators.py mep/books/migrations/0020_format_on_delete.py mep/books/migrations/0005_item_mepid_allow_null.py mep/books/migrations/0004_viaf_to_uri.py mep/books/migrations/0026_add_past_work_slug.py mep/books/migrations/0012_add_public_notes.py mep/books/migrations/0023_merge_20200406_1206.py mep/books/migrations/0024_add_work_sort_title.py mep/books/migrations/0021_work_slug_creator_order.py mep/books/views.py mep/books/management/commands/reconcile_oclc.py mep/books/management/commands/export_books.py mep/books/admin.py mep/books/oclc.py mep/books/migration_group_work_utils.py mep/books/utils.py mep/books/forms.py mep/books/sitemaps.py mep/books/queryset.py mep/books/apps.py mep/books/urls.py mep/books/__init__.py mep/common/tests.py mep/common/migrations/0002_update_content_editor_perms_subscriptiontype.py mep/common/migrations/0006_update_content_editor_perms_works_and_djiffy.py mep/common/migrations/0001_content_editor_group.py mep/common/migrations/0007_add_data_viewer_group.py mep/common/migrations/0004_update_content_editor_perms_creatortype.py mep/common/migrations/0003_content_editor_perms_location.py mep/common/migrations/0005_create_script_user.py mep/common/templatetags/mep_tags.py mep/common/views.py mep/common/forms.py mep/common/models.py mep/common/management/export.py mep/common/utils.py mep/common/admin.py mep/common/solr.py mep/common/apps.py mep/common/validators.py mep/common/__init__.py mep/footnotes/tests/test_footnotes_signals.py mep/footnotes/tests/test_footnote_models.py mep/footnotes/tests/test_footnote_views.py mep/footnotes/models.py mep/footnotes/views.py mep/footnotes/admin.py mep/footnotes/migrations/0005_consolidate_event_footnotes.py mep/footnotes/migrations/0001_initial.py mep/footnotes/migrations/0003_add_bibliography_manifest_and_footnote_canvas.py mep/footnotes/migrations/0004_on_delete.py mep/footnotes/migrations/0002_footnote_is_agree_default_true.py mep/footnotes/forms.py mep/footnotes/queryset.py mep/footnotes/urls.py mep/footnotes/apps.py mep/footnotes/__init__.py mep/pages/tests/test_pages_models.py mep/pages/tests/test_pages_commands.py mep/pages/tests/test_pages_templates.py mep/pages/tests/test_tags.py mep/pages/models.py mep/pages/migrations/0010_split_person_names.py mep/pages/migrations/0007_essay_landingpage_and_creators.py mep/pages/migrations/0001_initial.py mep/pages/migrations/0003_contentpage_add_featured_image_description.py mep/pages/migrations/0006_add_svg_image_block.py mep/pages/migrations/0009_svg_extended_description.py mep/pages/migrations/0004_landingpage_optional_body.py mep/pages/migrations/0008_linkable_section_anchor_text.py mep/pages/migrations/0003_image_alt_text.py mep/pages/migrations/0002_homepage_streamfield.py mep/pages/migrations/0011_updated_streamfield_blocks.py mep/pages/migrations/0005_merge_20191010_1625.py mep/pages/management/commands/setup_site_pages.py mep/pages/wagtail_hooks.py mep/pages/admin.py mep/pages/templatetags/mep_page_tags.py mep/pages/apps.py mep/pages/__init__.py mep/settings.py mep/urls.py mep/dashboard.py mep/__init__.py mep/wsgi.py mep/context_processors.py srcmedia/ts/lib/common.ts srcmedia/ts/lib/form.ts srcmedia/ts/lib/facet.ts srcmedia/ts/lib/input.ts srcmedia/ts/lib/select.ts srcmedia/ts/lib/filter.ts srcmedia/ts/lib/sort.ts srcmedia/ts/lib/output.ts srcmedia/ts/components/ActiveFilters.ts srcmedia/ts/components/PageControls.ts srcmedia/ts/components/StickyControls.ts srcmedia/ts/components/MainMenu.ts

No flags found

Use flags to group coverage reports by test type, project and/or folders.
Then setup custom commit statuses and notifications for each flag.

e.g., #unittest #integration

#production #enterprise

#frontend #backend

Learn more about Codecov Flags here.


@@ -695,11 +695,26 @@
Loading
695 695
        # creating new subscription for same account & date should error
696 696
        with pytest.raises(ValidationError):
697 697
            subscr = Subscription(account=self.account,
698 -
                start_date=self.subscription.start_date)
698 +
                                  start_date=self.subscription.start_date)
699 699
            subscr.validate_unique()
700 700
701 -
        # same account + date with different subtype should be fine
701 +
        # creating new subscription for same account with same
702 +
        # start date AND end date should error
703 +
        with pytest.raises(ValidationError):
704 +
            subscr = Subscription(account=self.account,
705 +
                                  start_date=self.subscription.start_date,
706 +
                                  end_date=self.subscription.end_date)
707 +
            subscr.validate_unique()
708 +
709 +
        # same account, type, start date but different end date is valid
702 710
        subscr = Subscription(account=self.account,
711 +
                              start_date=self.subscription.start_date,
712 +
                              end_date=datetime.date(1931, 3, 6))
713 +
        subscr.validate_unique()
714 +
715 +
        # same account + date with different subtype should be fine
716 +
        subscr = Subscription(
717 +
            account=self.account,
703 718
            start_date=self.subscription.start_date, subtype='ren')
704 719
        subscr.validate_unique()
705 720

@@ -464,7 +464,8 @@
Loading
464 464
        # (can't use unique_together because of multi-table inheritance)
465 465
466 466
        # adapted from https://stackoverflow.com/questions/7366363/adding-custom-django-model-validation
467 -
        qs = Subscription.objects.filter(start_date=self.start_date,
467 +
        qs = Subscription.objects.filter(
468 +
            start_date=self.start_date, end_date=self.end_date,
468 469
            account=self.account, subtype=self.subtype)
469 470
470 471
        # if current work is already saved, exclude it from the queryset

Everything is accounted for!

No changes detected that need to be reviewed.
What changes does Codecov check for?
Lines, not adjusted in diff, that have changed coverage data.
Files that introduced coverage data that had none before.
Files that have missing coverage data that once were tracked.
Files Coverage
mep +<.01% 98.44%
srcmedia/ts 86.55%
Project Totals (223 files) 98.01%
Loading