@stamhoofd/backend 2.121.0 → 2.122.0
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.
- package/output-2.txt +1 -0
- package/output.txt +1 -0
- package/package.json +69 -52
- package/src/audit-logs/EventNotificationLogger.ts +40 -0
- package/src/audit-logs/ModelLogger.ts +19 -15
- package/src/audit-logs/OrganizationLogger.ts +1 -1
- package/src/audit-logs/RegistrationInvitationLogger.ts +24 -24
- package/src/audit-logs/init.ts +8 -2
- package/src/boot.ts +19 -18
- package/src/crons/amazon-ses.ts +13 -26
- package/src/crons/balance-emails.ts +3 -5
- package/src/crons/clearExcelCache.test.ts +1 -1
- package/src/crons/clearExcelCache.ts +1 -2
- package/src/crons/drip-emails.ts +42 -0
- package/src/crons/endFunctionsOfUsersWithoutRegistration.ts +4 -0
- package/src/crons/helpers/isOutside.ts +11 -0
- package/src/crons/helpers/useSavedIterator.ts +32 -0
- package/src/crons/index.ts +5 -0
- package/src/crons/invoices.ts +32 -38
- package/src/crons/members-fees.ts +50 -0
- package/src/crons/mollie-chargebacks.ts +14 -15
- package/src/crons/service-fees.ts +152 -0
- package/src/crons/stripe-invoices.ts +48 -0
- package/src/crons/transfer-fees.ts +176 -0
- package/src/crons/update-cached-balances.ts +4 -4
- package/src/crons.ts +7 -64
- package/src/debug.ts +4 -2
- package/src/email-recipient-loaders/documents.ts +1 -1
- package/src/email-recipient-loaders/members.ts +1 -1
- package/src/email-recipient-loaders/payments.ts +4 -6
- package/src/email-recipient-loaders/registrations.ts +1 -1
- package/src/email-replacements/getEmailReplacementsForPayment.ts +5 -9
- package/src/endpoints/admin/members/ChargeMembersEndpoint.ts +1 -1
- package/src/endpoints/admin/memberships/ChargeMembershipsEndpoint.ts +1 -1
- package/src/endpoints/admin/memberships/GetChargeMembershipsSummaryEndpoint.ts +3 -5
- package/src/endpoints/admin/organizations/ChargeOrganizationsEndpoint.ts +1 -1
- package/src/endpoints/admin/organizations/GetOrganizationsCountEndpoint.ts +1 -1
- package/src/endpoints/admin/organizations/GetOrganizationsEndpoint.ts +13 -7
- package/src/endpoints/admin/organizations/PatchOrganizationsEndpoint.ts +4 -6
- package/src/endpoints/admin/organizations/PatchPackagesEndpoint.test.ts +10 -6
- package/src/endpoints/admin/organizations/PatchPackagesEndpoint.ts +39 -21
- package/src/endpoints/admin/registrations/ChargeRegistrationsEndpoint.ts +1 -1
- package/src/endpoints/auth/CreateAdminEndpoint.ts +23 -5
- package/src/endpoints/auth/CreateTokenEndpoint.ts +2 -2
- package/src/endpoints/auth/DeleteTokenEndpoint.ts +1 -1
- package/src/endpoints/auth/DeleteUserEndpoint.ts +3 -3
- package/src/endpoints/auth/ForgotPasswordEndpoint.ts +1 -1
- package/src/endpoints/auth/GetOtherUserEndpoint.ts +1 -1
- package/src/endpoints/auth/GetUserEndpoint.ts +1 -1
- package/src/endpoints/auth/OpenIDConnectAuthTokenEndpoint.ts +1 -1
- package/src/endpoints/auth/OpenIDConnectStartEndpoint.ts +1 -1
- package/src/endpoints/auth/PatchUserEndpoint.ts +5 -8
- package/src/endpoints/auth/PollEmailVerificationEndpoint.ts +1 -1
- package/src/endpoints/auth/RetryEmailVerificationEndpoint.ts +1 -1
- package/src/endpoints/auth/SignupEndpoint.ts +2 -3
- package/src/endpoints/auth/VerifyEmailEndpoint.ts +20 -3
- package/src/endpoints/frontend/FrontendEnvironmentEndpoint.ts +2 -1
- package/src/endpoints/global/addresses/SearchRegionsEndpoint.ts +2 -4
- package/src/endpoints/global/addresses/ValidateAddressEndpoint.ts +1 -1
- package/src/endpoints/global/audit-logs/GetAuditLogsEndpoint.ts +5 -7
- package/src/endpoints/global/caddy/CheckDomainCertEndpoint.ts +2 -2
- package/src/endpoints/global/email/CreateEmailEndpoint.ts +3 -4
- package/src/endpoints/global/email/GetAdminEmailsEndpoint.test.ts +1 -1
- package/src/endpoints/global/email/GetAdminEmailsEndpoint.ts +1 -2
- package/src/endpoints/global/email/GetEmailAddressEndpoint.ts +4 -6
- package/src/endpoints/global/email/GetEmailEndpoint.ts +1 -1
- package/src/endpoints/global/email/GetUserEmailsEndpoint.test.ts +1 -1
- package/src/endpoints/global/email/GetUserEmailsEndpoint.ts +1 -1
- package/src/endpoints/global/email/ManageEmailAddressEndpoint.ts +6 -10
- package/src/endpoints/global/email/PatchEmailEndpoint.test.ts +4 -7
- package/src/endpoints/global/email/PatchEmailEndpoint.ts +6 -9
- package/src/endpoints/global/email-recipients/GetEmailRecipientsCountEndpoint.ts +1 -1
- package/src/endpoints/global/email-recipients/GetEmailRecipientsEndpoint.test.ts +1 -1
- package/src/endpoints/global/email-recipients/GetEmailRecipientsEndpoint.ts +1 -1
- package/src/endpoints/global/email-recipients/RetryEmailRecipientEndpoint.ts +2 -2
- package/src/endpoints/global/events/GetEventNotificationsCountEndpoint.ts +1 -1
- package/src/endpoints/global/events/GetEventNotificationsEndpoint.ts +3 -3
- package/src/endpoints/global/events/GetEventsEndpoint.ts +3 -3
- package/src/endpoints/global/events/PatchEventNotificationsEndpoint.test.ts +49 -4
- package/src/endpoints/global/events/PatchEventNotificationsEndpoint.ts +5 -8
- package/src/endpoints/global/events/PatchEventsEndpoint.test.ts +12 -44
- package/src/endpoints/global/events/PatchEventsEndpoint.ts +128 -127
- package/src/endpoints/global/files/ExportToExcelEndpoint.ts +9 -9
- package/src/endpoints/global/files/GetFileCache.ts +3 -4
- package/src/endpoints/global/files/UploadFile.ts +3 -4
- package/src/endpoints/global/files/UploadImage.ts +3 -4
- package/src/endpoints/global/groups/GetGroupsCountEndpoint.ts +1 -1
- package/src/endpoints/global/groups/GetGroupsEndpoint.test.ts +1 -1
- package/src/endpoints/global/groups/GetGroupsEndpoint.ts +4 -2
- package/src/endpoints/global/members/GetMemberFamilyEndpoint.ts +2 -3
- package/src/endpoints/global/members/GetMembersCountEndpoint.ts +1 -1
- package/src/endpoints/global/members/GetMembersEndpoint.test.ts +2 -2
- package/src/endpoints/global/members/GetMembersEndpoint.ts +10 -12
- package/src/endpoints/global/members/PatchOrganizationMembersEndpoint.test.ts +195 -12
- package/src/endpoints/global/members/PatchOrganizationMembersEndpoint.ts +16 -22
- package/src/endpoints/global/members/helpers/validateGroupFilter.ts +6 -30
- package/src/endpoints/global/members/shouldCheckIfMemberIsDuplicate.ts +1 -1
- package/src/endpoints/global/organizations/CheckRegisterCodeEndpoint.ts +1 -1
- package/src/endpoints/global/organizations/CreateOrganizationEndpoint.ts +40 -8
- package/src/endpoints/global/organizations/GetOrganizationFromDomainEndpoint.ts +2 -2
- package/src/endpoints/global/organizations/GetOrganizationFromUriEndpoint.ts +2 -2
- package/src/endpoints/global/organizations/SearchOrganizationEndpoint.test.ts +4 -1
- package/src/endpoints/global/organizations/SearchOrganizationEndpoint.ts +4 -5
- package/src/endpoints/global/payments/StripeWebhookEndpoint.ts +9 -16
- package/src/endpoints/global/platform/GetPlatformAdminsEndpoint.ts +1 -1
- package/src/endpoints/global/platform/GetPlatformEndpoint.ts +1 -1
- package/src/endpoints/global/platform/PatchPlatformEnpoint.test.ts +1 -1
- package/src/endpoints/global/platform/PatchPlatformEnpoint.ts +11 -11
- package/src/endpoints/global/platform-memberships/GetPlatformMembershipsCountEndpoint.ts +31 -31
- package/src/endpoints/global/platform-memberships/GetPlatformMembershipsEndpoint.ts +18 -20
- package/src/endpoints/global/registration/GetRegistrationsCountEndpoint.ts +1 -1
- package/src/endpoints/global/registration/GetRegistrationsEndpoint.test.ts +1 -1
- package/src/endpoints/global/registration/GetRegistrationsEndpoint.ts +6 -10
- package/src/endpoints/global/registration/GetUserDetailedPayableBalanceEndpoint.ts +35 -6
- package/src/endpoints/global/registration/GetUserDocumentsEndpoint.ts +2 -2
- package/src/endpoints/global/registration/GetUserMembersEndpoint.ts +1 -1
- package/src/endpoints/global/registration/GetUserPayableBalanceEndpoint.ts +1 -1
- package/src/endpoints/global/registration/PatchUserMembersEndpoint.test.ts +2 -2
- package/src/endpoints/global/registration/PatchUserMembersEndpoint.ts +3 -3
- package/src/endpoints/global/registration/RegisterMembersEndpoint.test.ts +90 -6
- package/src/endpoints/global/registration/RegisterMembersEndpoint.ts +35 -34
- package/src/endpoints/global/registration-invitations/GetRegistrationInvitationsCountEndpoint.ts +1 -1
- package/src/endpoints/global/registration-invitations/GetRegistrationInvitationsEndpoint.test.ts +62 -63
- package/src/endpoints/global/registration-invitations/GetRegistrationInvitationsEndpoint.ts +6 -9
- package/src/endpoints/global/registration-invitations/PatchRegistrationInvitationsEndpoint.test.ts +51 -52
- package/src/endpoints/global/registration-invitations/PatchRegistrationInvitationsEndpoint.ts +6 -7
- package/src/endpoints/global/registration-periods/GetRegistrationPeriodsCountEndpoint.ts +43 -0
- package/src/endpoints/global/registration-periods/GetRegistrationPeriodsEndpoint.ts +1 -1
- package/src/endpoints/global/registration-periods/PatchRegistrationPeriodsEndpoint.ts +13 -5
- package/src/endpoints/global/sso/GetSSOEndpoint.ts +2 -3
- package/src/endpoints/global/sso/SetSSOEndpoint.ts +1 -1
- package/src/endpoints/global/webshops/GetWebshopFromDomainEndpoint.ts +2 -2
- package/src/endpoints/global/webshops/GetWebshopsEndpoint.test.ts +1 -2
- package/src/endpoints/global/webshops/GetWebshopsEndpoint.ts +2 -4
- package/src/endpoints/organization/dashboard/balance-items/GetBalanceItemEndpoint.ts +2 -2
- package/src/endpoints/organization/dashboard/balance-items/GetBalanceItemsCountEndpoint.ts +1 -1
- package/src/endpoints/organization/dashboard/balance-items/GetBalanceItemsEndpoint.ts +3 -4
- package/src/endpoints/organization/dashboard/balance-items/PatchBalanceItemsEndpoint.ts +7 -9
- package/src/endpoints/organization/dashboard/billing/ApplyRegisterCodeEndpoint.test.ts +73 -0
- package/src/endpoints/organization/dashboard/billing/ApplyRegisterCodeEndpoint.ts +89 -0
- package/src/endpoints/organization/dashboard/billing/DeactivatePackageEndpoint.ts +1 -5
- package/src/endpoints/organization/dashboard/billing/DeleteOrganizationMandateEndpoint.ts +11 -11
- package/src/endpoints/organization/dashboard/billing/GetOrganizationDetailedPayableBalanceCollectionEndpoint.ts +2 -2
- package/src/endpoints/organization/dashboard/billing/GetOrganizationDetailedPayableBalanceEndpoint.ts +8 -8
- package/src/endpoints/organization/dashboard/billing/GetOrganizationMandatesEndpoint.ts +9 -9
- package/src/endpoints/organization/dashboard/billing/GetOrganizationPayableBalanceEndpoint.ts +2 -2
- package/src/endpoints/organization/dashboard/billing/GetOrganizationPayableInvoicesEndpoint.ts +68 -0
- package/src/endpoints/organization/dashboard/billing/GetPackagesEndpoint.ts +4 -4
- package/src/endpoints/organization/dashboard/billing/GetRegisterCodeEndpoint.ts +66 -0
- package/src/endpoints/organization/dashboard/billing/OrganizationCheckoutEndpoint.test.ts +949 -0
- package/src/endpoints/organization/dashboard/billing/OrganizationCheckoutEndpoint.ts +60 -57
- package/src/endpoints/organization/dashboard/billing/PatchOrganizationMandatesEndpoint.ts +20 -20
- package/src/endpoints/organization/dashboard/documents/GetDocumentTemplateXML.ts +1 -1
- package/src/endpoints/organization/dashboard/documents/GetDocumentTemplatesCountEndpoint.ts +1 -1
- package/src/endpoints/organization/dashboard/documents/GetDocumentTemplatesEndpoint.ts +1 -1
- package/src/endpoints/organization/dashboard/documents/GetDocumentsCountEndpoint.ts +1 -1
- package/src/endpoints/organization/dashboard/documents/GetDocumentsEndpoint.ts +1 -1
- package/src/endpoints/organization/dashboard/documents/PatchDocumentEndpoint.ts +10 -2
- package/src/endpoints/organization/dashboard/documents/PatchDocumentTemplatesEndpoint.test.ts +2 -2
- package/src/endpoints/organization/dashboard/documents/PatchDocumentTemplatesEndpoint.ts +2 -2
- package/src/endpoints/organization/dashboard/email/CheckEmailBouncesEndpoint.ts +1 -1
- package/src/endpoints/organization/dashboard/email-templates/GetEmailTemplatesEndpoint.test.ts +1 -1
- package/src/endpoints/organization/dashboard/email-templates/GetEmailTemplatesEndpoint.ts +10 -8
- package/src/endpoints/organization/dashboard/email-templates/PatchEmailTemplatesEndpoint.test.ts +1 -1
- package/src/endpoints/organization/dashboard/email-templates/PatchEmailTemplatesEndpoint.ts +5 -6
- package/src/endpoints/organization/dashboard/invoices/GetInvoicesCountEndpoint.ts +1 -1
- package/src/endpoints/organization/dashboard/invoices/GetInvoicesEndpoint.ts +10 -6
- package/src/endpoints/organization/dashboard/invoices/PatchInvoicesEndpoint.ts +11 -2
- package/src/endpoints/organization/dashboard/mollie/CheckMollieEndpoint.ts +4 -5
- package/src/endpoints/organization/dashboard/mollie/ConnectMollieEndpoint.ts +5 -5
- package/src/endpoints/organization/dashboard/mollie/DisconnectMollieEndpoint.ts +2 -2
- package/src/endpoints/organization/dashboard/mollie/GetMollieDashboardEndpoint.ts +7 -7
- package/src/endpoints/organization/dashboard/nolt/CreateNoltTokenEndpoint.ts +1 -1
- package/src/endpoints/organization/dashboard/organization/GetOrganizationArchivedGroups.ts +2 -2
- package/src/endpoints/organization/dashboard/organization/GetOrganizationDeletedGroups.ts +1 -1
- package/src/endpoints/organization/dashboard/organization/GetUitpasClientIdEndpoint.ts +1 -1
- package/src/endpoints/organization/dashboard/organization/PatchOrganizationEndpoint.test.ts +2 -2
- package/src/endpoints/organization/dashboard/organization/PatchOrganizationEndpoint.ts +50 -12
- package/src/endpoints/organization/dashboard/organization/SearchUitpasOrganizersEndpoint.ts +2 -2
- package/src/endpoints/organization/dashboard/organization/SetOrganizationDomainEndpoint.ts +5 -10
- package/src/endpoints/organization/dashboard/organization/SetUitpasClientCredentialsEndpoint.ts +1 -1
- package/src/endpoints/organization/dashboard/payments/GetPaymentsCountEndpoint.ts +1 -1
- package/src/endpoints/organization/dashboard/payments/GetPaymentsEndpoint.ts +3 -4
- package/src/endpoints/organization/dashboard/payments/PatchPaymentsEndpoint.ts +21 -14
- package/src/endpoints/organization/dashboard/receivable-balances/ChargeReceivableBalancesEndpoint.ts +35 -28
- package/src/endpoints/organization/dashboard/receivable-balances/GetReceivableBalanceEndpoint.ts +2 -3
- package/src/endpoints/organization/dashboard/receivable-balances/GetReceivableBalancesCountEndpoint.ts +1 -1
- package/src/endpoints/organization/dashboard/receivable-balances/GetReceivableBalancesEndpoint.ts +1 -1
- package/src/endpoints/organization/dashboard/registration-periods/GetOrganizationRegistrationPeriodsEndpoint.test.ts +1 -1
- package/src/endpoints/organization/dashboard/registration-periods/GetOrganizationRegistrationPeriodsEndpoint.ts +2 -3
- package/src/endpoints/organization/dashboard/registration-periods/MoveRegistrationPeriods.test.ts +1 -1
- package/src/endpoints/organization/dashboard/registration-periods/PatchOrganizationRegistrationPeriodsEndpoint.test.ts +1 -1
- package/src/endpoints/organization/dashboard/registration-periods/PatchOrganizationRegistrationPeriodsEndpoint.ts +19 -18
- package/src/endpoints/organization/dashboard/registration-periods/SetupStepReviewEndpoint.ts +4 -5
- package/src/endpoints/organization/dashboard/stripe/ConnectStripeEndpoint.ts +1 -1
- package/src/endpoints/organization/dashboard/stripe/DeleteStripeAccountEndpoint.ts +2 -3
- package/src/endpoints/organization/dashboard/stripe/GetStripeAccountLinkEndpoint.ts +2 -2
- package/src/endpoints/organization/dashboard/stripe/GetStripeAccountsEndpoint.ts +1 -1
- package/src/endpoints/organization/dashboard/stripe/GetStripeLoginLinkEndpoint.ts +2 -2
- package/src/endpoints/organization/dashboard/stripe/UpdateStripeAccountEndpoint.ts +1 -1
- package/src/endpoints/organization/dashboard/users/CreateApiUserEndpoint.ts +1 -1
- package/src/endpoints/organization/dashboard/users/DeleteUserEndpoint.ts +1 -1
- package/src/endpoints/organization/dashboard/users/GetApiUsersEndpoint.ts +1 -1
- package/src/endpoints/organization/dashboard/users/GetOrganizationAdminsEndpoint.ts +1 -1
- package/src/endpoints/organization/dashboard/users/PatchApiUserEndpoint.ts +4 -6
- package/src/endpoints/organization/dashboard/webshops/CreateWebshopEndpoint.ts +10 -15
- package/src/endpoints/organization/dashboard/webshops/DeleteWebshopEndpoint.ts +1 -1
- package/src/endpoints/organization/dashboard/webshops/GetDiscountCodesEndpoint.ts +2 -2
- package/src/endpoints/organization/dashboard/webshops/GetWebshopOrdersCountEndpoint.ts +1 -1
- package/src/endpoints/organization/dashboard/webshops/GetWebshopOrdersEndpoint.ts +1 -1
- package/src/endpoints/organization/dashboard/webshops/GetWebshopTicketsEndpoint.ts +1 -1
- package/src/endpoints/organization/dashboard/webshops/GetWebshopUriAvailabilityEndpoint.ts +11 -2
- package/src/endpoints/organization/dashboard/webshops/PatchDiscountCodesEndpoint.ts +4 -6
- package/src/endpoints/organization/dashboard/webshops/PatchWebshopEndpoint.ts +22 -7
- package/src/endpoints/organization/dashboard/webshops/PatchWebshopOrdersEndpoint.ts +20 -27
- package/src/endpoints/organization/dashboard/webshops/PatchWebshopTicketsEndpoint.ts +1 -1
- package/src/endpoints/organization/dashboard/webshops/SearchUitpasEventsEndpoint.ts +2 -2
- package/src/endpoints/organization/dashboard/webshops/VerifyWebshopDomainEndpoint.ts +2 -3
- package/src/endpoints/organization/dashboard/webshops/WebshopReservedPathSegments.test.ts +95 -0
- package/src/endpoints/organization/shared/ExchangePaymentEndpoint.ts +2 -2
- package/src/endpoints/organization/shared/GetDocumentHtml.ts +1 -1
- package/src/endpoints/organization/shared/GetPaymentEndpoint.ts +1 -1
- package/src/endpoints/organization/shared/GetUitpasNumberDetailsEndpoint.ts +3 -5
- package/src/endpoints/organization/shared/auth/GetOrganizationEndpoint.ts +1 -1
- package/src/endpoints/organization/webshops/CheckWebshopDiscountCodesEndpoint.ts +4 -1
- package/src/endpoints/organization/webshops/GetOrderByPaymentEndpoint.ts +14 -3
- package/src/endpoints/organization/webshops/GetOrderEndpoint.ts +14 -2
- package/src/endpoints/organization/webshops/GetTicketsEndpoint.ts +37 -16
- package/src/endpoints/organization/webshops/GetWebshopEndpoint.test.ts +34 -2
- package/src/endpoints/organization/webshops/GetWebshopEndpoint.ts +4 -2
- package/src/endpoints/organization/webshops/PlaceOrderEndpoint.test.ts +74 -3
- package/src/endpoints/organization/webshops/PlaceOrderEndpoint.ts +16 -33
- package/src/endpoints/organization/webshops/RetrieveUitpasSocialTariffPriceEndpoint.ts +3 -5
- package/src/endpoints/organization/webshops/WebshopAuthHelper.ts +36 -0
- package/src/endpoints/system/HealthEndpoint.ts +1 -1
- package/src/excel-loaders/balance-items.ts +1 -1
- package/src/excel-loaders/event-notifications.ts +1 -1
- package/src/excel-loaders/members.ts +1 -1
- package/src/excel-loaders/organizations.ts +3 -3
- package/src/excel-loaders/payments.ts +31 -1
- package/src/excel-loaders/platform-memberships.ts +13 -14
- package/src/excel-loaders/receivable-balances.ts +2 -2
- package/src/excel-loaders/registrations.ts +2 -3
- package/src/helpers/AddressValidator.ts +7 -14
- package/src/helpers/AdminPermissionChecker.ts +50 -63
- package/src/helpers/AuthenticatedStructures.ts +69 -55
- package/src/helpers/BalanceItemRelationsBackfiller.test.ts +174 -0
- package/src/helpers/BalanceItemRelationsBackfiller.ts +163 -0
- package/src/helpers/BuckarooHelper.ts +2 -4
- package/src/helpers/CheckSettlements.ts +12 -24
- package/src/helpers/Context.ts +15 -10
- package/src/helpers/CookieHelper.ts +1 -2
- package/src/helpers/EmailResumer.ts +1 -2
- package/src/helpers/FileCache.ts +2 -3
- package/src/helpers/FinancialSupportHelper.ts +2 -2
- package/src/helpers/FlagMomentCleanup.ts +1 -2
- package/src/helpers/ForwardHandler.ts +5 -10
- package/src/helpers/GlobalHelper.ts +3 -3
- package/src/helpers/LegacyBillingConverter.ts +787 -0
- package/src/helpers/MemberMerger.test.ts +782 -0
- package/src/helpers/MemberMerger.ts +600 -0
- package/src/helpers/MemberUserSyncer.ts +6 -12
- package/src/helpers/MembershipCharger.ts +2 -4
- package/src/helpers/PaymentCustomerResolver.test.ts +203 -0
- package/src/helpers/PaymentCustomerResolver.ts +144 -0
- package/src/helpers/PeriodHelper.ts +2 -3
- package/src/helpers/RecordAnswerHelper.test.ts +105 -110
- package/src/helpers/RecordAnswerHelper.ts +7 -7
- package/src/helpers/SeedTools.ts +106 -0
- package/src/helpers/ServiceFeeHelper.ts +125 -15
- package/src/helpers/SetupStepUpdater.ts +38 -32
- package/src/helpers/StamhoofdFilterAccessHelper.ts +52 -0
- package/src/helpers/StripeHelper.ts +14 -36
- package/src/helpers/StripeInvoicer.ts +419 -0
- package/src/helpers/StripePayoutChecker.ts +5 -10
- package/src/helpers/TagHelper.ts +7 -8
- package/src/helpers/TemporaryMemberAccess.ts +1 -2
- package/src/helpers/ThrottledQueue.ts +1 -2
- package/src/helpers/UitpasTokenRepository.ts +1 -2
- package/src/helpers/ViesHelper.ts +7 -11
- package/src/helpers/XlsxTransformerColumnHelper.ts +1 -1
- package/src/helpers/outstandingBalanceJoin.ts +2 -2
- package/src/helpers/updateMemberDetailsUitpasNumber.ts +3 -5
- package/src/migrate.ts +12 -5
- package/src/{seeds → migrations}/0000000004-single-organization.ts +10 -1
- package/src/migrations/0000000006-default-organization.ts +139 -0
- package/src/{seeds → migrations}/1715028563-user-permissions.ts +17 -27
- package/src/{seeds/1765896674-document-update-year.test.ts → migrations/1750090029-document-update-year.test.ts} +27 -26
- package/src/migrations/1750090029-document-update-year.ts +103 -0
- package/src/{seeds → migrations}/1750090030-records-configuration.ts +33 -32
- package/src/migrations/1750090031-records-configuration-webshops.ts +36 -0
- package/src/migrations/1752848540-national-numbers.ts +585 -0
- package/src/migrations/1752848550-records-configuration-group-filter.ts +1064 -0
- package/src/{seeds → migrations}/1752848561-groups-registration-periods.ts +70 -26
- package/src/{seeds → migrations}/1754560914-groups-prices.test.ts +1 -1
- package/src/{seeds → migrations}/1754560914-groups-prices.ts +9 -15
- package/src/{seeds → migrations}/1756293699-fill-previous-next-period-id.ts +1 -2
- package/src/migrations/1761665607-sync-member-users.ts +40 -0
- package/src/migrations/1779121240-invoice-email-template.sql +6 -0
- package/src/migrations/1779986893-default-payment-failed-email-templates.sql +4 -0
- package/src/migrations/1780578166-convert-legacy-billing.ts +13 -0
- package/src/{seeds/1755876819-remove-duplicate-members.ts → migrations/1780665426-remove-duplicate-members.ts} +23 -4
- package/src/migrations/1780933598-document-groups.ts +88 -0
- package/src/migrations/1781692342-balance-item-relations.ts +13 -0
- package/src/migrations/1781857866-platform-admins.ts +103 -0
- package/src/migrations/1781857867-rm-old-platform-admins.ts +25 -0
- package/src/seeds/0000000001-throw.ts +5 -0
- package/src/seeds/1760702452-update-balance-price-paid.ts +19 -0
- package/src/seeds/1760702453-update-balance-invoiced.ts +19 -0
- package/src/seeds/1760702454-update-cached-outstanding-balance-from-items.ts +51 -14
- package/src/seeds/1773754928-force-save-members.ts +41 -8
- package/src/seeds/1780665427-schedule-stock-updates.ts +45 -0
- package/src/seeds/1780665428-group-update-occupancy.ts +31 -0
- package/src/seeds/1780915001-fill-payment-customer.ts +70 -0
- package/src/seeds/1780915002-update-orders.ts +39 -0
- package/src/seeds/1782047708-organization-company-address.ts +44 -0
- package/src/seeds-temporary/1769088653-uitpas-status.ts +1 -2
- package/src/seeds-temporary/1780416000-migrate-audit-log-legacy-enums.test.ts +69 -0
- package/src/seeds-temporary/1780416000-migrate-audit-log-legacy-enums.ts +85 -0
- package/src/services/AuditLogService.test.ts +51 -0
- package/src/services/AuditLogService.ts +45 -0
- package/src/services/BalanceItemService.ts +141 -44
- package/src/services/CpuService.ts +3 -6
- package/src/services/DatabaseCollationService.test.ts +1 -2
- package/src/services/DocumentService.ts +1 -2
- package/src/services/EventNotificationService.ts +1 -1
- package/src/services/FileSignService.ts +2 -4
- package/src/services/InvoicePdfService.ts +286 -0
- package/src/services/InvoiceService.ts +204 -251
- package/src/services/InvoiceXMLService.ts +424 -0
- package/src/services/MemberNumberService.ts +6 -11
- package/src/services/MemberRecordStore.ts +8 -10
- package/src/services/MollieService.ts +114 -121
- package/src/services/PaymentMandateService.ts +45 -45
- package/src/services/PaymentReallocationService.test.ts +1 -1
- package/src/services/PaymentReallocationService.ts +7 -9
- package/src/services/PaymentService.ts +444 -308
- package/src/services/PlatformMembershipService.ts +4 -8
- package/src/services/ReferralService.ts +223 -0
- package/src/services/RegistrationService.ts +63 -53
- package/src/services/SSOService.test.ts +119 -0
- package/src/services/SSOService.ts +56 -49
- package/src/services/STPackageService.ts +97 -61
- package/src/services/UniqueMemberNumberService.ts +69 -0
- package/src/services/UniqueUserService.ts +3 -6
- package/src/services/VATService.ts +85 -0
- package/src/services/uitpas/PassholderEndpoints.ts +3 -6
- package/src/services/uitpas/UitpasService.ts +6 -10
- package/src/services/uitpas/checkUitpasNumbers.ts +2 -4
- package/src/services/uitpas/getSocialTariffForUitpasNumbers.ts +3 -6
- package/src/services/uitpas/searchUitpasEvents.ts +1 -2
- package/src/sql-filters/audit-logs.ts +1 -1
- package/src/sql-filters/balance-item-payments.ts +1 -1
- package/src/sql-filters/balance-items.ts +1 -1
- package/src/sql-filters/base-registration-filter-compilers.ts +5 -33
- package/src/sql-filters/document-templates.ts +1 -1
- package/src/sql-filters/documents.ts +1 -1
- package/src/sql-filters/email-recipients.ts +1 -1
- package/src/sql-filters/emails.ts +1 -1
- package/src/sql-filters/event-notifications.ts +1 -1
- package/src/sql-filters/events.ts +6 -1
- package/src/sql-filters/groups.ts +5 -0
- package/src/sql-filters/invoiced-balance-items.ts +1 -1
- package/src/sql-filters/invoices.ts +1 -1
- package/src/sql-filters/member-responsibility-records.ts +1 -1
- package/src/sql-filters/members.ts +1 -1
- package/src/sql-filters/orders.ts +4 -4
- package/src/sql-filters/organization-registration-periods.ts +1 -1
- package/src/sql-filters/organizations.ts +1 -1
- package/src/sql-filters/platform-memberships.ts +3 -3
- package/src/sql-filters/receivable-balances.ts +1 -1
- package/src/sql-filters/registration-periods.ts +1 -1
- package/src/sql-filters/registrations.ts +1 -1
- package/src/sql-filters/tickets.ts +1 -1
- package/src/sql-filters/users.ts +1 -1
- package/src/sql-sorters/groups.ts +23 -0
- package/src/sql-sorters/platform-memberships.ts +16 -16
- package/src/sql-sorters/registration-invitations.ts +2 -2
- package/tests/actions/patchOrganizationMember.ts +1 -1
- package/tests/actions/patchUserMember.ts +1 -1
- package/tests/assertions/assertBalances.ts +6 -12
- package/tests/e2e/api-rate-limits.test.ts +12 -24
- package/tests/e2e/bundle-discounts.test.ts +4 -1
- package/tests/e2e/charge-members.test.ts +13 -11
- package/tests/e2e/documents.test.ts +4 -1
- package/tests/e2e/register.test.ts +7 -9
- package/tests/e2e/stock.test.ts +4 -3
- package/tests/e2e/tickets.test.ts +1 -1
- package/tests/helpers/MollieMocker.ts +462 -0
- package/tests/helpers/PayconiqMocker.ts +138 -45
- package/tests/helpers/StripeMocker.ts +9 -6
- package/tests/helpers/index.ts +4 -0
- package/tests/init/initAdmin.ts +2 -2
- package/tests/init/initBundleDiscount.ts +1 -1
- package/tests/init/initMembershipOrganization.ts +13 -0
- package/tests/init/initPermissionRole.ts +3 -4
- package/tests/vitest.global.setup.ts +1 -1
- package/vitest.config.js +6 -0
- package/.nvmrc +0 -1
- package/src/helpers/GroupBuilder.ts +0 -418
- package/src/seeds/0000000000-example.ts +0 -11
- package/src/seeds/1722256498-group-update-occupancy.ts +0 -52
- package/src/seeds/1726572303-schedule-stock-updates.ts +0 -52
- package/src/seeds/1726847064-setup-steps.ts +0 -16
- package/src/seeds/1728928974-update-cached-outstanding-balance-from-items.ts +0 -31
- package/src/seeds/1729253172-update-orders.ts +0 -21
- package/src/seeds/1733319079-fill-paying-organization-ids.ts +0 -68
- package/src/seeds/1733748412-update-deleted-order-numbers.ts +0 -109
- package/src/seeds/1733994455-balance-item-status-open.ts +0 -30
- package/src/seeds/1740046783-update-membership.ts +0 -17
- package/src/seeds/1741008870-fix-auditlog-description.ts +0 -50
- package/src/seeds/1741011468-fix-auditlog-description-uft16.ts +0 -88
- package/src/seeds/1741268179-fix-group-dates-of-events.ts +0 -32
- package/src/seeds/1751445358-upload-email-attachments.ts +0 -106
- package/src/seeds/1755532883-update-email-sender-ids.ts +0 -47
- package/src/seeds/1755790070-fill-email-recipient-errors.ts +0 -96
- package/src/seeds/1756115432-remove-old-drafts.ts +0 -16
- package/src/seeds/1756115433-fill-email-recipient-organization-id.ts +0 -30
- package/src/seeds/1756303697-update-email-counts.ts +0 -76
- package/src/seeds/1761665607-sync-member-users.ts +0 -59
- package/src/seeds/1765896674-document-update-year.ts +0 -66
- /package/src/{seeds → migrations}/0000000001-development-user.ts +0 -0
- /package/src/{seeds → migrations}/0000000002-clear-stamhoofd-email-templates.ts +0 -0
- /package/src/{seeds → migrations}/0000000003-default-email-templates.ts +0 -0
- /package/src/{seeds → migrations}/1752848561-groups-registration-periods.test.ts +0 -0
- /package/src/{seeds → migrations}/1766150402-document-published-at.test.ts +0 -0
- /package/src/{seeds → migrations}/1766150402-document-published-at.ts +0 -0
- /package/src/{seeds → migrations}/1779121239-default-invoice-email-template.sql +0 -0
- /package/src/{seeds → migrations}/data/default-email-templates.sql +0 -0
|
@@ -6,22 +6,22 @@ import { RecordAnswerHelper } from './RecordAnswerHelper.js';
|
|
|
6
6
|
describe('RecordAnswerHelper', () => {
|
|
7
7
|
const record1 = RecordSettings.create({
|
|
8
8
|
name: TranslatedString.create('vraag 1'),
|
|
9
|
-
type: RecordType.Text
|
|
9
|
+
type: RecordType.Text,
|
|
10
10
|
});
|
|
11
11
|
|
|
12
12
|
const record2 = RecordSettings.create({
|
|
13
13
|
name: TranslatedString.create('vraag 2'),
|
|
14
|
-
type: RecordType.Integer
|
|
14
|
+
type: RecordType.Integer,
|
|
15
15
|
});
|
|
16
16
|
|
|
17
17
|
const record3 = RecordSettings.create({
|
|
18
18
|
name: TranslatedString.create('vraag 3'),
|
|
19
|
-
type: RecordType.Text
|
|
19
|
+
type: RecordType.Text,
|
|
20
20
|
});
|
|
21
21
|
|
|
22
22
|
const record4 = RecordSettings.create({
|
|
23
23
|
name: TranslatedString.create('vraag 4'),
|
|
24
|
-
type: RecordType.Date
|
|
24
|
+
type: RecordType.Date,
|
|
25
25
|
});
|
|
26
26
|
|
|
27
27
|
const record5 = RecordSettings.create({
|
|
@@ -30,50 +30,49 @@ describe('RecordAnswerHelper', () => {
|
|
|
30
30
|
choices: [
|
|
31
31
|
RecordChoice.create({ name: TranslatedString.create('keuze 1') }),
|
|
32
32
|
RecordChoice.create({ name: TranslatedString.create('keuze 2') }),
|
|
33
|
-
]
|
|
33
|
+
],
|
|
34
34
|
});
|
|
35
35
|
|
|
36
36
|
const record6 = RecordSettings.create({
|
|
37
37
|
name: TranslatedString.create('vraag 6'),
|
|
38
|
-
type: RecordType.Email
|
|
38
|
+
type: RecordType.Email,
|
|
39
39
|
});
|
|
40
40
|
|
|
41
41
|
const record7 = RecordSettings.create({
|
|
42
42
|
name: TranslatedString.create('vraag 7'),
|
|
43
|
-
type: RecordType.Price
|
|
43
|
+
type: RecordType.Price,
|
|
44
44
|
});
|
|
45
45
|
|
|
46
46
|
const record8 = RecordSettings.create({
|
|
47
47
|
name: TranslatedString.create('vraag 8'),
|
|
48
48
|
type: RecordType.File,
|
|
49
|
-
fileType: FileType.PDF
|
|
49
|
+
fileType: FileType.PDF,
|
|
50
50
|
});
|
|
51
51
|
|
|
52
52
|
const childCategory1 = RecordCategory.create({
|
|
53
53
|
name: TranslatedString.create('subcategorie 1'),
|
|
54
|
-
records: [record3,record4]
|
|
54
|
+
records: [record3, record4],
|
|
55
55
|
});
|
|
56
56
|
|
|
57
57
|
const childCategory2 = RecordCategory.create({
|
|
58
58
|
name: TranslatedString.create('subcategorie 2'),
|
|
59
|
-
records: [record5]
|
|
60
|
-
})
|
|
59
|
+
records: [record5],
|
|
60
|
+
});
|
|
61
61
|
|
|
62
62
|
const recordCategory1 = RecordCategory.create({
|
|
63
63
|
name: TranslatedString.create('categorie 1'),
|
|
64
|
-
records: [
|
|
65
|
-
childCategories: [childCategory1, childCategory2]
|
|
64
|
+
records: [record1, record2],
|
|
65
|
+
childCategories: [childCategory1, childCategory2],
|
|
66
66
|
});
|
|
67
67
|
|
|
68
68
|
const recordCategory2 = RecordCategory.create({
|
|
69
69
|
name: TranslatedString.create('categorie 2'),
|
|
70
|
-
records: [record6, record7, record8]
|
|
70
|
+
records: [record6, record7, record8],
|
|
71
71
|
});
|
|
72
72
|
|
|
73
73
|
const originalRecordCategories = [recordCategory1, recordCategory2];
|
|
74
74
|
|
|
75
75
|
describe('throwIfPatchOrPutIsInvalid', () => {
|
|
76
|
-
|
|
77
76
|
test('patch - happy path should not throw', () => {
|
|
78
77
|
const patches = new PatchableArray<string, RecordCategory, AutoEncoderPatchType<RecordCategory>>();
|
|
79
78
|
const recordPatches1 = new PatchableArray<string, RecordSettings, AutoEncoderPatchType<RecordSettings>>();
|
|
@@ -81,13 +80,13 @@ describe('RecordAnswerHelper', () => {
|
|
|
81
80
|
const recordPatch1 = RecordSettings.patch({
|
|
82
81
|
id: record1.id,
|
|
83
82
|
name: TranslatedString.create('vraag 1 - updated'),
|
|
84
|
-
type: RecordType.Textarea
|
|
83
|
+
type: RecordType.Textarea,
|
|
85
84
|
});
|
|
86
85
|
|
|
87
86
|
const recordPatch2 = RecordSettings.patch({
|
|
88
87
|
id: record2.id,
|
|
89
88
|
name: TranslatedString.create('vraag 2 - updated'),
|
|
90
|
-
type: RecordType.Integer
|
|
89
|
+
type: RecordType.Integer,
|
|
91
90
|
});
|
|
92
91
|
|
|
93
92
|
recordPatches1.addPatch(recordPatch1);
|
|
@@ -98,7 +97,7 @@ describe('RecordAnswerHelper', () => {
|
|
|
98
97
|
const recordPatch3 = RecordSettings.patch({
|
|
99
98
|
id: record3.id,
|
|
100
99
|
name: TranslatedString.create('vraag 3 - updated'),
|
|
101
|
-
type: RecordType.Email
|
|
100
|
+
type: RecordType.Email,
|
|
102
101
|
});
|
|
103
102
|
|
|
104
103
|
const recordPatch4 = RecordSettings.patch({
|
|
@@ -115,7 +114,7 @@ describe('RecordAnswerHelper', () => {
|
|
|
115
114
|
id: record5.id,
|
|
116
115
|
name: TranslatedString.create('vraag 5 - updated'),
|
|
117
116
|
});
|
|
118
|
-
|
|
117
|
+
|
|
119
118
|
recordPatches3.addPatch(recordPatch5);
|
|
120
119
|
|
|
121
120
|
const recordPatches4 = new PatchableArray<string, RecordSettings, AutoEncoderPatchType<RecordSettings>>();
|
|
@@ -131,24 +130,23 @@ describe('RecordAnswerHelper', () => {
|
|
|
131
130
|
|
|
132
131
|
childCategoriesPatch1.addPatch(RecordCategory.patch({
|
|
133
132
|
id: childCategory1.id,
|
|
134
|
-
records: recordPatches2
|
|
133
|
+
records: recordPatches2,
|
|
135
134
|
}));
|
|
136
135
|
|
|
137
136
|
childCategoriesPatch1.addPatch(RecordCategory.patch({
|
|
138
137
|
id: childCategory2.id,
|
|
139
|
-
records: recordPatches3
|
|
138
|
+
records: recordPatches3,
|
|
140
139
|
}));
|
|
141
140
|
|
|
142
|
-
|
|
143
141
|
const patch1 = RecordCategory.patch({
|
|
144
142
|
id: recordCategory1.id,
|
|
145
143
|
records: recordPatches1,
|
|
146
|
-
childCategories: childCategoriesPatch1
|
|
144
|
+
childCategories: childCategoriesPatch1,
|
|
147
145
|
});
|
|
148
146
|
|
|
149
147
|
const patch2 = RecordCategory.patch({
|
|
150
148
|
id: recordCategory2.id,
|
|
151
|
-
records: recordPatches4
|
|
149
|
+
records: recordPatches4,
|
|
152
150
|
});
|
|
153
151
|
|
|
154
152
|
patches.addPatch(patch1);
|
|
@@ -156,7 +154,7 @@ describe('RecordAnswerHelper', () => {
|
|
|
156
154
|
|
|
157
155
|
// should not throw
|
|
158
156
|
expect(() => RecordAnswerHelper.throwIfPatchOrPutIsInvalid(originalRecordCategories, patches)).not.toThrow();
|
|
159
|
-
})
|
|
157
|
+
});
|
|
160
158
|
|
|
161
159
|
describe('patch - should throw if type changes', () => {
|
|
162
160
|
test('case 1 - error in root category', () => {
|
|
@@ -166,14 +164,14 @@ describe('RecordAnswerHelper', () => {
|
|
|
166
164
|
const recordPatch1 = RecordSettings.patch({
|
|
167
165
|
id: record1.id,
|
|
168
166
|
name: TranslatedString.create('vraag 1 - updated'),
|
|
169
|
-
type: RecordType.Textarea
|
|
167
|
+
type: RecordType.Textarea,
|
|
170
168
|
});
|
|
171
169
|
|
|
172
170
|
const recordPatch2 = RecordSettings.patch({
|
|
173
171
|
id: record2.id,
|
|
174
172
|
name: TranslatedString.create('vraag 2 - updated'),
|
|
175
173
|
// type changed -> should throw
|
|
176
|
-
type: RecordType.Email
|
|
174
|
+
type: RecordType.Email,
|
|
177
175
|
});
|
|
178
176
|
|
|
179
177
|
recordPatches1.addPatch(recordPatch1);
|
|
@@ -188,7 +186,7 @@ describe('RecordAnswerHelper', () => {
|
|
|
188
186
|
|
|
189
187
|
// should throw
|
|
190
188
|
expect(() => RecordAnswerHelper.throwIfPatchOrPutIsInvalid(originalRecordCategories, patches)).toThrow('Cannot change record type from Integer to Email');
|
|
191
|
-
})
|
|
189
|
+
});
|
|
192
190
|
|
|
193
191
|
test('case 2 - error in child category', () => {
|
|
194
192
|
const patches = new PatchableArray<string, RecordCategory, AutoEncoderPatchType<RecordCategory>>();
|
|
@@ -197,13 +195,13 @@ describe('RecordAnswerHelper', () => {
|
|
|
197
195
|
const recordPatch1 = RecordSettings.patch({
|
|
198
196
|
id: record1.id,
|
|
199
197
|
name: TranslatedString.create('vraag 1 - updated'),
|
|
200
|
-
type: RecordType.Textarea
|
|
198
|
+
type: RecordType.Textarea,
|
|
201
199
|
});
|
|
202
200
|
|
|
203
201
|
const recordPatch2 = RecordSettings.patch({
|
|
204
202
|
id: record2.id,
|
|
205
203
|
name: TranslatedString.create('vraag 2 - updated'),
|
|
206
|
-
type: RecordType.Integer
|
|
204
|
+
type: RecordType.Integer,
|
|
207
205
|
});
|
|
208
206
|
|
|
209
207
|
recordPatches1.addPatch(recordPatch1);
|
|
@@ -214,14 +212,14 @@ describe('RecordAnswerHelper', () => {
|
|
|
214
212
|
const recordPatch3 = RecordSettings.patch({
|
|
215
213
|
id: record3.id,
|
|
216
214
|
name: TranslatedString.create('vraag 3 - updated'),
|
|
217
|
-
type: RecordType.Email
|
|
215
|
+
type: RecordType.Email,
|
|
218
216
|
});
|
|
219
217
|
|
|
220
218
|
const recordPatch4 = RecordSettings.patch({
|
|
221
219
|
id: record4.id,
|
|
222
220
|
name: TranslatedString.create('vraag 4 - updated'),
|
|
223
221
|
// changes from date to text -> should throw
|
|
224
|
-
type: RecordType.Text
|
|
222
|
+
type: RecordType.Text,
|
|
225
223
|
});
|
|
226
224
|
|
|
227
225
|
recordPatches2.addPatch(recordPatch3);
|
|
@@ -233,33 +231,32 @@ describe('RecordAnswerHelper', () => {
|
|
|
233
231
|
id: record5.id,
|
|
234
232
|
name: TranslatedString.create('vraag 5 - updated'),
|
|
235
233
|
});
|
|
236
|
-
|
|
234
|
+
|
|
237
235
|
recordPatches3.addPatch(recordPatch5);
|
|
238
236
|
|
|
239
237
|
const childCategoriesPatch1 = new PatchableArray<string, RecordCategory, AutoEncoderPatchType<RecordCategory>>();
|
|
240
238
|
|
|
241
239
|
childCategoriesPatch1.addPatch(RecordCategory.patch({
|
|
242
240
|
id: childCategory1.id,
|
|
243
|
-
records: recordPatches2
|
|
241
|
+
records: recordPatches2,
|
|
244
242
|
}));
|
|
245
243
|
|
|
246
244
|
childCategoriesPatch1.addPatch(RecordCategory.patch({
|
|
247
245
|
id: childCategory2.id,
|
|
248
|
-
records: recordPatches3
|
|
246
|
+
records: recordPatches3,
|
|
249
247
|
}));
|
|
250
248
|
|
|
251
|
-
|
|
252
249
|
const patch1 = RecordCategory.patch({
|
|
253
250
|
id: recordCategory1.id,
|
|
254
251
|
records: recordPatches1,
|
|
255
|
-
childCategories: childCategoriesPatch1
|
|
252
|
+
childCategories: childCategoriesPatch1,
|
|
256
253
|
});
|
|
257
254
|
|
|
258
255
|
patches.addPatch(patch1);
|
|
259
256
|
|
|
260
257
|
// should throw
|
|
261
258
|
expect(() => RecordAnswerHelper.throwIfPatchOrPutIsInvalid(originalRecordCategories, patches)).toThrow('Cannot change record type from Date to Text');
|
|
262
|
-
})
|
|
259
|
+
});
|
|
263
260
|
});
|
|
264
261
|
|
|
265
262
|
test('patch - should throw if file type changes', () => {
|
|
@@ -270,7 +267,7 @@ describe('RecordAnswerHelper', () => {
|
|
|
270
267
|
id: record8.id,
|
|
271
268
|
name: TranslatedString.create('vraag 8 - updated'),
|
|
272
269
|
type: RecordType.File,
|
|
273
|
-
fileType: FileType.Word
|
|
270
|
+
fileType: FileType.Word,
|
|
274
271
|
}));
|
|
275
272
|
|
|
276
273
|
patches.addPatch(RecordCategory.patch({
|
|
@@ -280,32 +277,32 @@ describe('RecordAnswerHelper', () => {
|
|
|
280
277
|
|
|
281
278
|
// should throw
|
|
282
279
|
expect(() => RecordAnswerHelper.throwIfPatchOrPutIsInvalid(originalRecordCategories, patches)).toThrow('Cannot change record file type from PDF to Word');
|
|
283
|
-
})
|
|
280
|
+
});
|
|
284
281
|
|
|
285
282
|
test('put - happy path should not throw', () => {
|
|
286
283
|
const newRecord1 = RecordSettings.create({
|
|
287
284
|
id: record1.id,
|
|
288
285
|
name: TranslatedString.create('vraag 1'),
|
|
289
286
|
// type changed but same class -> should not throw
|
|
290
|
-
type: RecordType.Text
|
|
287
|
+
type: RecordType.Text,
|
|
291
288
|
});
|
|
292
289
|
|
|
293
290
|
const newRecord2 = RecordSettings.create({
|
|
294
291
|
id: record2.id,
|
|
295
292
|
name: TranslatedString.create('vraag 2'),
|
|
296
|
-
type: RecordType.Integer
|
|
293
|
+
type: RecordType.Integer,
|
|
297
294
|
});
|
|
298
295
|
|
|
299
296
|
const newRecord3 = RecordSettings.create({
|
|
300
297
|
id: record3.id,
|
|
301
298
|
name: TranslatedString.create('vraag 3'),
|
|
302
|
-
type: RecordType.Text
|
|
299
|
+
type: RecordType.Text,
|
|
303
300
|
});
|
|
304
301
|
|
|
305
302
|
const newRecord4 = RecordSettings.create({
|
|
306
303
|
id: record4.id,
|
|
307
304
|
name: TranslatedString.create('vraag 4'),
|
|
308
|
-
type: RecordType.Date
|
|
305
|
+
type: RecordType.Date,
|
|
309
306
|
});
|
|
310
307
|
|
|
311
308
|
const newRecord5 = RecordSettings.create({
|
|
@@ -315,51 +312,51 @@ describe('RecordAnswerHelper', () => {
|
|
|
315
312
|
choices: [
|
|
316
313
|
RecordChoice.create({ name: TranslatedString.create('keuze 1') }),
|
|
317
314
|
RecordChoice.create({ name: TranslatedString.create('keuze 2') }),
|
|
318
|
-
]
|
|
315
|
+
],
|
|
319
316
|
});
|
|
320
317
|
|
|
321
318
|
const newRecord6 = RecordSettings.create({
|
|
322
319
|
id: record6.id,
|
|
323
320
|
name: TranslatedString.create('vraag 6'),
|
|
324
|
-
type: RecordType.Email
|
|
321
|
+
type: RecordType.Email,
|
|
325
322
|
});
|
|
326
323
|
|
|
327
324
|
const newRecord7 = RecordSettings.create({
|
|
328
325
|
id: record7.id,
|
|
329
326
|
name: TranslatedString.create('vraag 7'),
|
|
330
|
-
type: RecordType.Price
|
|
327
|
+
type: RecordType.Price,
|
|
331
328
|
});
|
|
332
329
|
|
|
333
330
|
const newRecord8 = RecordSettings.create({
|
|
334
331
|
id: record8.id,
|
|
335
332
|
name: TranslatedString.create('vraag 8'),
|
|
336
333
|
type: RecordType.File,
|
|
337
|
-
fileType: FileType.PDF
|
|
334
|
+
fileType: FileType.PDF,
|
|
338
335
|
});
|
|
339
336
|
|
|
340
337
|
const newChildCategory1 = RecordCategory.create({
|
|
341
338
|
id: childCategory1.id,
|
|
342
339
|
name: TranslatedString.create('subcategorie 1'),
|
|
343
|
-
records: [newRecord3,newRecord4]
|
|
340
|
+
records: [newRecord3, newRecord4],
|
|
344
341
|
});
|
|
345
342
|
|
|
346
343
|
const newChildCategory2 = RecordCategory.create({
|
|
347
344
|
id: childCategory2.id,
|
|
348
345
|
name: TranslatedString.create('subcategorie 2'),
|
|
349
|
-
records: [newRecord5]
|
|
350
|
-
})
|
|
346
|
+
records: [newRecord5],
|
|
347
|
+
});
|
|
351
348
|
|
|
352
349
|
const newRecordCategory1 = RecordCategory.create({
|
|
353
350
|
id: recordCategory1.id,
|
|
354
351
|
name: TranslatedString.create('categorie 1'),
|
|
355
|
-
records: [
|
|
356
|
-
childCategories: [newChildCategory1, newChildCategory2]
|
|
352
|
+
records: [newRecord1, newRecord2],
|
|
353
|
+
childCategories: [newChildCategory1, newChildCategory2],
|
|
357
354
|
});
|
|
358
355
|
|
|
359
356
|
const newRecordCategory2 = RecordCategory.create({
|
|
360
357
|
id: recordCategory2.id,
|
|
361
358
|
name: TranslatedString.create('categorie 2'),
|
|
362
|
-
records: [newRecord6, newRecord7, newRecord8]
|
|
359
|
+
records: [newRecord6, newRecord7, newRecord8],
|
|
363
360
|
});
|
|
364
361
|
|
|
365
362
|
const newRecordCategories = [newRecordCategory1, newRecordCategory2];
|
|
@@ -374,26 +371,26 @@ describe('RecordAnswerHelper', () => {
|
|
|
374
371
|
id: record1.id,
|
|
375
372
|
name: TranslatedString.create('vraag 1'),
|
|
376
373
|
// type changed but same class -> should not throw
|
|
377
|
-
type: RecordType.Text
|
|
374
|
+
type: RecordType.Text,
|
|
378
375
|
});
|
|
379
376
|
|
|
380
377
|
const newRecord2 = RecordSettings.create({
|
|
381
378
|
id: record2.id,
|
|
382
379
|
name: TranslatedString.create('vraag 2'),
|
|
383
380
|
// type changed from Integer to Email -> should throw
|
|
384
|
-
type: RecordType.Email
|
|
381
|
+
type: RecordType.Email,
|
|
385
382
|
});
|
|
386
383
|
|
|
387
384
|
const newRecord3 = RecordSettings.create({
|
|
388
385
|
id: record3.id,
|
|
389
386
|
name: TranslatedString.create('vraag 3'),
|
|
390
|
-
type: RecordType.Text
|
|
387
|
+
type: RecordType.Text,
|
|
391
388
|
});
|
|
392
389
|
|
|
393
390
|
const newRecord4 = RecordSettings.create({
|
|
394
391
|
id: record4.id,
|
|
395
392
|
name: TranslatedString.create('vraag 4'),
|
|
396
|
-
type: RecordType.Date
|
|
393
|
+
type: RecordType.Date,
|
|
397
394
|
});
|
|
398
395
|
|
|
399
396
|
const newRecord5 = RecordSettings.create({
|
|
@@ -403,84 +400,84 @@ describe('RecordAnswerHelper', () => {
|
|
|
403
400
|
choices: [
|
|
404
401
|
RecordChoice.create({ name: TranslatedString.create('keuze 1') }),
|
|
405
402
|
RecordChoice.create({ name: TranslatedString.create('keuze 2') }),
|
|
406
|
-
]
|
|
403
|
+
],
|
|
407
404
|
});
|
|
408
405
|
|
|
409
406
|
const newRecord6 = RecordSettings.create({
|
|
410
407
|
id: record6.id,
|
|
411
408
|
name: TranslatedString.create('vraag 6'),
|
|
412
|
-
type: RecordType.Email
|
|
409
|
+
type: RecordType.Email,
|
|
413
410
|
});
|
|
414
411
|
|
|
415
412
|
const newRecord7 = RecordSettings.create({
|
|
416
413
|
id: record7.id,
|
|
417
414
|
name: TranslatedString.create('vraag 7'),
|
|
418
|
-
type: RecordType.Price
|
|
415
|
+
type: RecordType.Price,
|
|
419
416
|
});
|
|
420
417
|
|
|
421
418
|
const newRecord8 = RecordSettings.create({
|
|
422
419
|
id: record8.id,
|
|
423
420
|
name: TranslatedString.create('vraag 8'),
|
|
424
421
|
type: RecordType.File,
|
|
425
|
-
fileType: FileType.PDF
|
|
422
|
+
fileType: FileType.PDF,
|
|
426
423
|
});
|
|
427
424
|
|
|
428
425
|
const newChildCategory1 = RecordCategory.create({
|
|
429
426
|
id: childCategory1.id,
|
|
430
427
|
name: TranslatedString.create('subcategorie 1'),
|
|
431
|
-
records: [newRecord3,newRecord4]
|
|
428
|
+
records: [newRecord3, newRecord4],
|
|
432
429
|
});
|
|
433
430
|
|
|
434
431
|
const newChildCategory2 = RecordCategory.create({
|
|
435
432
|
id: childCategory2.id,
|
|
436
433
|
name: TranslatedString.create('subcategorie 2'),
|
|
437
|
-
records: [newRecord5]
|
|
438
|
-
})
|
|
434
|
+
records: [newRecord5],
|
|
435
|
+
});
|
|
439
436
|
|
|
440
437
|
const newRecordCategory1 = RecordCategory.create({
|
|
441
438
|
id: recordCategory1.id,
|
|
442
439
|
name: TranslatedString.create('categorie 1'),
|
|
443
|
-
records: [
|
|
444
|
-
childCategories: [newChildCategory1, newChildCategory2]
|
|
440
|
+
records: [newRecord1, newRecord2],
|
|
441
|
+
childCategories: [newChildCategory1, newChildCategory2],
|
|
445
442
|
});
|
|
446
443
|
|
|
447
444
|
const newRecordCategory2 = RecordCategory.create({
|
|
448
445
|
id: recordCategory2.id,
|
|
449
446
|
name: TranslatedString.create('categorie 2'),
|
|
450
|
-
records: [newRecord6, newRecord7, newRecord8]
|
|
447
|
+
records: [newRecord6, newRecord7, newRecord8],
|
|
451
448
|
});
|
|
452
449
|
|
|
453
450
|
const newRecordCategories = [newRecordCategory1, newRecordCategory2];
|
|
454
451
|
|
|
455
452
|
// should throw
|
|
456
453
|
expect(() => RecordAnswerHelper.throwIfPatchOrPutIsInvalid(originalRecordCategories, newRecordCategories)).toThrow('Cannot change record type from Integer to Email');
|
|
457
|
-
})
|
|
454
|
+
});
|
|
458
455
|
|
|
459
456
|
test('case 2 - error in child category', () => {
|
|
460
457
|
const newRecord1 = RecordSettings.create({
|
|
461
458
|
id: record1.id,
|
|
462
459
|
name: TranslatedString.create('vraag 1'),
|
|
463
460
|
// type changed but same class -> should not throw
|
|
464
|
-
type: RecordType.Text
|
|
461
|
+
type: RecordType.Text,
|
|
465
462
|
});
|
|
466
463
|
|
|
467
464
|
const newRecord2 = RecordSettings.create({
|
|
468
465
|
id: record2.id,
|
|
469
466
|
name: TranslatedString.create('vraag 2'),
|
|
470
|
-
type: RecordType.Integer
|
|
467
|
+
type: RecordType.Integer,
|
|
471
468
|
});
|
|
472
469
|
|
|
473
470
|
const newRecord3 = RecordSettings.create({
|
|
474
471
|
id: record3.id,
|
|
475
472
|
name: TranslatedString.create('vraag 3'),
|
|
476
|
-
type: RecordType.Text
|
|
473
|
+
type: RecordType.Text,
|
|
477
474
|
});
|
|
478
475
|
|
|
479
476
|
const newRecord4 = RecordSettings.create({
|
|
480
477
|
id: record4.id,
|
|
481
478
|
name: TranslatedString.create('vraag 4'),
|
|
482
479
|
// type changed from date to text -> should throw
|
|
483
|
-
type: RecordType.Text
|
|
480
|
+
type: RecordType.Text,
|
|
484
481
|
});
|
|
485
482
|
|
|
486
483
|
const newRecord5 = RecordSettings.create({
|
|
@@ -490,58 +487,58 @@ describe('RecordAnswerHelper', () => {
|
|
|
490
487
|
choices: [
|
|
491
488
|
RecordChoice.create({ name: TranslatedString.create('keuze 1') }),
|
|
492
489
|
RecordChoice.create({ name: TranslatedString.create('keuze 2') }),
|
|
493
|
-
]
|
|
490
|
+
],
|
|
494
491
|
});
|
|
495
492
|
|
|
496
493
|
const newRecord6 = RecordSettings.create({
|
|
497
494
|
id: record6.id,
|
|
498
495
|
name: TranslatedString.create('vraag 6'),
|
|
499
|
-
type: RecordType.Email
|
|
496
|
+
type: RecordType.Email,
|
|
500
497
|
});
|
|
501
498
|
|
|
502
499
|
const newRecord7 = RecordSettings.create({
|
|
503
500
|
id: record7.id,
|
|
504
501
|
name: TranslatedString.create('vraag 7'),
|
|
505
|
-
type: RecordType.Price
|
|
502
|
+
type: RecordType.Price,
|
|
506
503
|
});
|
|
507
504
|
|
|
508
505
|
const newRecord8 = RecordSettings.create({
|
|
509
506
|
id: record8.id,
|
|
510
507
|
name: TranslatedString.create('vraag 8'),
|
|
511
508
|
type: RecordType.File,
|
|
512
|
-
fileType: FileType.PDF
|
|
509
|
+
fileType: FileType.PDF,
|
|
513
510
|
});
|
|
514
511
|
|
|
515
512
|
const newChildCategory1 = RecordCategory.create({
|
|
516
513
|
id: childCategory1.id,
|
|
517
514
|
name: TranslatedString.create('subcategorie 1'),
|
|
518
|
-
records: [newRecord3,newRecord4]
|
|
515
|
+
records: [newRecord3, newRecord4],
|
|
519
516
|
});
|
|
520
517
|
|
|
521
518
|
const newChildCategory2 = RecordCategory.create({
|
|
522
519
|
id: childCategory2.id,
|
|
523
520
|
name: TranslatedString.create('subcategorie 2'),
|
|
524
|
-
records: [newRecord5]
|
|
525
|
-
})
|
|
521
|
+
records: [newRecord5],
|
|
522
|
+
});
|
|
526
523
|
|
|
527
524
|
const newRecordCategory1 = RecordCategory.create({
|
|
528
525
|
id: recordCategory1.id,
|
|
529
526
|
name: TranslatedString.create('categorie 1'),
|
|
530
|
-
records: [
|
|
531
|
-
childCategories: [newChildCategory1, newChildCategory2]
|
|
527
|
+
records: [newRecord1, newRecord2],
|
|
528
|
+
childCategories: [newChildCategory1, newChildCategory2],
|
|
532
529
|
});
|
|
533
530
|
|
|
534
531
|
const newRecordCategory2 = RecordCategory.create({
|
|
535
532
|
id: recordCategory2.id,
|
|
536
533
|
name: TranslatedString.create('categorie 2'),
|
|
537
|
-
records: [newRecord6, newRecord7, newRecord8]
|
|
534
|
+
records: [newRecord6, newRecord7, newRecord8],
|
|
538
535
|
});
|
|
539
536
|
|
|
540
537
|
const newRecordCategories = [newRecordCategory1, newRecordCategory2];
|
|
541
538
|
|
|
542
539
|
// should throw
|
|
543
540
|
expect(() => RecordAnswerHelper.throwIfPatchOrPutIsInvalid(originalRecordCategories, newRecordCategories)).toThrow('Cannot change record type from Date to Text');
|
|
544
|
-
})
|
|
541
|
+
});
|
|
545
542
|
});
|
|
546
543
|
|
|
547
544
|
test('combination of patch and put - happy path should not throw', () => {
|
|
@@ -551,13 +548,13 @@ describe('RecordAnswerHelper', () => {
|
|
|
551
548
|
const recordPatch1 = RecordSettings.patch({
|
|
552
549
|
id: record1.id,
|
|
553
550
|
name: TranslatedString.create('vraag 1 - updated'),
|
|
554
|
-
type: RecordType.Textarea
|
|
551
|
+
type: RecordType.Textarea,
|
|
555
552
|
});
|
|
556
553
|
|
|
557
554
|
const recordPatch2 = RecordSettings.patch({
|
|
558
555
|
id: record2.id,
|
|
559
556
|
name: TranslatedString.create('vraag 2 - updated'),
|
|
560
|
-
type: RecordType.Integer
|
|
557
|
+
type: RecordType.Integer,
|
|
561
558
|
});
|
|
562
559
|
|
|
563
560
|
recordPatches1.addPatch(recordPatch1);
|
|
@@ -568,7 +565,7 @@ describe('RecordAnswerHelper', () => {
|
|
|
568
565
|
const recordPatch3 = RecordSettings.patch({
|
|
569
566
|
id: record3.id,
|
|
570
567
|
name: TranslatedString.create('vraag 3 - updated'),
|
|
571
|
-
type: RecordType.Email
|
|
568
|
+
type: RecordType.Email,
|
|
572
569
|
});
|
|
573
570
|
|
|
574
571
|
const recordPatch4 = RecordSettings.patch({
|
|
@@ -585,7 +582,7 @@ describe('RecordAnswerHelper', () => {
|
|
|
585
582
|
id: record5.id,
|
|
586
583
|
name: TranslatedString.create('vraag 5 - updated'),
|
|
587
584
|
});
|
|
588
|
-
|
|
585
|
+
|
|
589
586
|
recordPatches3.addPatch(recordPatch5);
|
|
590
587
|
|
|
591
588
|
const recordPatches4 = new PatchableArray<string, RecordSettings, AutoEncoderPatchType<RecordSettings>>();
|
|
@@ -602,38 +599,37 @@ describe('RecordAnswerHelper', () => {
|
|
|
602
599
|
const newRecord3 = RecordSettings.create({
|
|
603
600
|
id: record3.id,
|
|
604
601
|
name: TranslatedString.create('vraag 3'),
|
|
605
|
-
type: RecordType.Text
|
|
602
|
+
type: RecordType.Text,
|
|
606
603
|
});
|
|
607
604
|
|
|
608
605
|
const newRecord4 = RecordSettings.create({
|
|
609
606
|
id: record4.id,
|
|
610
607
|
name: TranslatedString.create('vraag 4'),
|
|
611
|
-
type: RecordType.Date
|
|
608
|
+
type: RecordType.Date,
|
|
612
609
|
});
|
|
613
610
|
|
|
614
611
|
const newChildCategory1 = RecordCategory.create({
|
|
615
612
|
id: childCategory1.id,
|
|
616
613
|
name: TranslatedString.create('subcategorie 1'),
|
|
617
|
-
records: [newRecord3,newRecord4]
|
|
614
|
+
records: [newRecord3, newRecord4],
|
|
618
615
|
});
|
|
619
616
|
|
|
620
617
|
childCategoriesPatch1.addPut(newChildCategory1);
|
|
621
618
|
|
|
622
619
|
childCategoriesPatch1.addPatch(RecordCategory.patch({
|
|
623
620
|
id: childCategory2.id,
|
|
624
|
-
records: recordPatches3
|
|
621
|
+
records: recordPatches3,
|
|
625
622
|
}));
|
|
626
623
|
|
|
627
|
-
|
|
628
624
|
const patch1 = RecordCategory.patch({
|
|
629
625
|
id: recordCategory1.id,
|
|
630
626
|
records: recordPatches1,
|
|
631
|
-
childCategories: childCategoriesPatch1
|
|
627
|
+
childCategories: childCategoriesPatch1,
|
|
632
628
|
});
|
|
633
629
|
|
|
634
630
|
const patch2 = RecordCategory.patch({
|
|
635
631
|
id: recordCategory2.id,
|
|
636
|
-
records: recordPatches4
|
|
632
|
+
records: recordPatches4,
|
|
637
633
|
});
|
|
638
634
|
|
|
639
635
|
patches.addPatch(patch1);
|
|
@@ -641,7 +637,7 @@ describe('RecordAnswerHelper', () => {
|
|
|
641
637
|
|
|
642
638
|
// should not throw
|
|
643
639
|
expect(() => RecordAnswerHelper.throwIfPatchOrPutIsInvalid(originalRecordCategories, patches)).not.toThrow();
|
|
644
|
-
})
|
|
640
|
+
});
|
|
645
641
|
|
|
646
642
|
test('combination of patch and put - should throw if type changes', () => {
|
|
647
643
|
const patches = new PatchableArray<string, RecordCategory, AutoEncoderPatchType<RecordCategory>>();
|
|
@@ -650,13 +646,13 @@ describe('RecordAnswerHelper', () => {
|
|
|
650
646
|
const recordPatch1 = RecordSettings.patch({
|
|
651
647
|
id: record1.id,
|
|
652
648
|
name: TranslatedString.create('vraag 1 - updated'),
|
|
653
|
-
type: RecordType.Textarea
|
|
649
|
+
type: RecordType.Textarea,
|
|
654
650
|
});
|
|
655
651
|
|
|
656
652
|
const recordPatch2 = RecordSettings.patch({
|
|
657
653
|
id: record2.id,
|
|
658
654
|
name: TranslatedString.create('vraag 2 - updated'),
|
|
659
|
-
type: RecordType.Integer
|
|
655
|
+
type: RecordType.Integer,
|
|
660
656
|
});
|
|
661
657
|
|
|
662
658
|
recordPatches1.addPatch(recordPatch1);
|
|
@@ -667,7 +663,7 @@ describe('RecordAnswerHelper', () => {
|
|
|
667
663
|
const recordPatch3 = RecordSettings.patch({
|
|
668
664
|
id: record3.id,
|
|
669
665
|
name: TranslatedString.create('vraag 3 - updated'),
|
|
670
|
-
type: RecordType.Email
|
|
666
|
+
type: RecordType.Email,
|
|
671
667
|
});
|
|
672
668
|
|
|
673
669
|
const recordPatch4 = RecordSettings.patch({
|
|
@@ -684,7 +680,7 @@ describe('RecordAnswerHelper', () => {
|
|
|
684
680
|
id: record5.id,
|
|
685
681
|
name: TranslatedString.create('vraag 5 - updated'),
|
|
686
682
|
});
|
|
687
|
-
|
|
683
|
+
|
|
688
684
|
recordPatches3.addPatch(recordPatch5);
|
|
689
685
|
|
|
690
686
|
const recordPatches4 = new PatchableArray<string, RecordSettings, AutoEncoderPatchType<RecordSettings>>();
|
|
@@ -701,39 +697,38 @@ describe('RecordAnswerHelper', () => {
|
|
|
701
697
|
const newRecord3 = RecordSettings.create({
|
|
702
698
|
id: record3.id,
|
|
703
699
|
name: TranslatedString.create('vraag 3'),
|
|
704
|
-
type: RecordType.Text
|
|
700
|
+
type: RecordType.Text,
|
|
705
701
|
});
|
|
706
702
|
|
|
707
703
|
const newRecord4 = RecordSettings.create({
|
|
708
704
|
id: record4.id,
|
|
709
705
|
name: TranslatedString.create('vraag 4'),
|
|
710
706
|
// type changes from date to text -> should throw
|
|
711
|
-
type: RecordType.Text
|
|
707
|
+
type: RecordType.Text,
|
|
712
708
|
});
|
|
713
709
|
|
|
714
710
|
const newChildCategory1 = RecordCategory.create({
|
|
715
711
|
id: childCategory1.id,
|
|
716
712
|
name: TranslatedString.create('subcategorie 1'),
|
|
717
|
-
records: [newRecord3,newRecord4]
|
|
713
|
+
records: [newRecord3, newRecord4],
|
|
718
714
|
});
|
|
719
715
|
|
|
720
716
|
childCategoriesPatch1.addPut(newChildCategory1);
|
|
721
717
|
|
|
722
718
|
childCategoriesPatch1.addPatch(RecordCategory.patch({
|
|
723
719
|
id: childCategory2.id,
|
|
724
|
-
records: recordPatches3
|
|
720
|
+
records: recordPatches3,
|
|
725
721
|
}));
|
|
726
722
|
|
|
727
|
-
|
|
728
723
|
const patch1 = RecordCategory.patch({
|
|
729
724
|
id: recordCategory1.id,
|
|
730
725
|
records: recordPatches1,
|
|
731
|
-
childCategories: childCategoriesPatch1
|
|
726
|
+
childCategories: childCategoriesPatch1,
|
|
732
727
|
});
|
|
733
728
|
|
|
734
729
|
const patch2 = RecordCategory.patch({
|
|
735
730
|
id: recordCategory2.id,
|
|
736
|
-
records: recordPatches4
|
|
731
|
+
records: recordPatches4,
|
|
737
732
|
});
|
|
738
733
|
|
|
739
734
|
patches.addPatch(patch1);
|
|
@@ -741,6 +736,6 @@ describe('RecordAnswerHelper', () => {
|
|
|
741
736
|
|
|
742
737
|
// should not throw
|
|
743
738
|
expect(() => RecordAnswerHelper.throwIfPatchOrPutIsInvalid(originalRecordCategories, patches)).toThrow('Cannot change record type from Date to Text');
|
|
744
|
-
})
|
|
745
|
-
})
|
|
746
|
-
})
|
|
739
|
+
});
|
|
740
|
+
});
|
|
741
|
+
});
|