Skip to content

fix: Donation type being "" on stripe invoice.paid event (#638) #1837

fix: Donation type being "" on stripe invoice.paid event (#638)

fix: Donation type being "" on stripe invoice.paid event (#638) #1837

GitHub Actions / JEST Tests succeeded Jun 1, 2024 in 1s

288 passed, 0 failed and 0 skipped

Tests passed successfully

✅ test-results.xml

288 tests were completed in 19s with 288 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
AccountController 2✅ 623ms
AccountService 1✅ 522ms
AffiliateController 10✅ 1s
AffiliateService 1✅ 163ms
AppController 1✅ 188ms
AppService 1✅ 149ms
AuthService 20✅ 2s
BankaccountController 1✅ 688ms
BankaccountService 1✅ 163ms
BankTransactionsController 4✅ 981ms
BankTransactionsFileController 1✅ 1s
BankTransactionsFileService 1✅ 664ms
BankTransactionsService 1✅ 629ms
BenefactorController 1✅ 317ms
BenefactorService 1✅ 191ms
BeneficiaryController 8✅ 484ms
BeneficiaryService 1✅ 179ms
CampaignController 18✅ 2s
CampaignFileController 4✅ 854ms
CampaignFileService 1✅ 675ms
CampaignFileService 1✅ 961ms
CampaignNewsController 1✅ 502ms
CampaignNewsFileController 9✅ 2s
CampaignNewsService 1✅ 425ms
CampaignService 2✅ 532ms
CampaignTypesController 7✅ 403ms
CampaignTypesService 1✅ 137ms
CityController 7✅ 528ms
CityService 1✅ 171ms
CompanyController 1✅ 256ms
CompanyService 1✅ 149ms
CoordinatorController 5✅ 317ms
CoordinatorService 4✅ 229ms
CountryController 8✅ 567ms
CountryService 1✅ 191ms
DonationsController 8✅ 2s
DonationsService 1✅ 691ms
DonationWishController 1✅ 297ms
DonationWishService 1✅ 150ms
EmailService enabled 7✅ 390ms
ExpensesController 7✅ 1s
ExpensesService 1✅ 393ms
HealthController 1✅ 456ms
ImportTransactionsTask 15✅ 4s
ImportTransactionsTask 2✅ 1s
InfoRequestController 1✅ 478ms
InfoRequestService 1✅ 305ms
IrregularityController 1✅ 643ms
IrregularityFileController 1✅ 609ms
IrregularityFileService 1✅ 441ms
IrregularityService 1✅ 407ms
LoginController 2✅ 588ms
MarketingNotificationsController 23✅ 4s
OrganizerController 1✅ 285ms
OrganizerService 1✅ 230ms
PaypalController 1✅ 541ms
PaypalService 1✅ 474ms
PersonController 1✅ 388ms
PersonService with enable client list 5✅ 369ms
podkrepiTypes 1✅ 112ms
PrismaService 1✅ 140ms
ProviderLoginController 2✅ 466ms
RecurringDonationController 1✅ 314ms
RecurringDonationService 6✅ 485ms
RefreshController 2✅ 550ms
RegisterController 2✅ 599ms
StripePaymentService 15✅ 5s
SupportController 3✅ 684ms
SupportService 1✅ 311ms
TransferController 11✅ 860ms
TransferService 1✅ 185ms
VaultController 8✅ 716ms
VaultService 4✅ 968ms
WithdrawalController 15✅ 2s
WithdrawalService 1✅ 428ms

✅ AccountController

AccountController should be defined
  ✅ AccountController should be defined
AccountController should create person for authenticated user
  ✅ AccountController should create person for authenticated user

✅ AccountService

AccountService should be defined
  ✅ AccountService should be defined

✅ AffiliateController

AffiliateController should be defined
  ✅ AffiliateController should be defined
AffiliateController Join program request should throw error if request is from individual profile
  ✅ AffiliateController Join program request should throw error if request is from individual profile
AffiliateController Join program request should pass if request is coming from corporate profile
  ✅ AffiliateController Join program request should pass if request is coming from corporate profile
AffiliateController Update affiliate status should throw error if request is not coming from admin
  ✅ AffiliateController Update affiliate status should throw error if request is not coming from admin
AffiliateController Update affiliate status should generate affiliate code if status is changed to active
  ✅ AffiliateController Update affiliate status should generate affiliate code if status is changed to active
AffiliateController Update affiliate status affiliateCode should be null if newStatus is not active
  ✅ AffiliateController Update affiliate status affiliateCode should be null if newStatus is not active
  ✅ AffiliateController Update affiliate status affiliateCode should be null if newStatus is not active
AffiliateController Affiliate donations should create donation
  ✅ AffiliateController Affiliate donations should create donation
AffiliateController Affiliate donations should cancel
  ✅ AffiliateController Affiliate donations should cancel
AffiliateController Affiliate donations should throw error if donation status is succeeded
  ✅ AffiliateController Affiliate donations should throw error if donation status is succeeded

✅ AffiliateService

AffiliateService should be defined
  ✅ AffiliateService should be defined

✅ AppController

AppController getData should return "Welcome to Podkrepi.bg Backend API! See Swagger docs at /swagger"
  ✅ AppController getData should return "Welcome to Podkrepi.bg Backend API! See Swagger docs at /swagger"

✅ AppService

AppService getData should return "Welcome to Podkrepi.bg Backend API! See Swagger docs at /swagger"
  ✅ AppService getData should return "Welcome to Podkrepi.bg Backend API! See Swagger docs at /swagger"

✅ AuthService

AuthService should be defined
  ✅ AuthService should be defined
AuthService issueToken should call auth
  ✅ AuthService issueToken should call auth
AuthService token endpoint should call tokenEndpoint
  ✅ AuthService token endpoint should call tokenEndpoint
AuthService refresh should call issueTokenFromRefresh
  ✅ AuthService refresh should call issueTokenFromRefresh
AuthService provider token call should call issueTokenFromProvider
  ✅ AuthService provider token call should call issueTokenFromProvider
AuthService login should call issueGrant - without updating person
  ✅ AuthService login should call issueGrant - without updating person
AuthService login should call issueGrant - with updating person due to keycloak mismatch
  ✅ AuthService login should call issueGrant - with updating person due to keycloak mismatch
AuthService login should call issueGrant - with creating person due to not being found
  ✅ AuthService login should call issueGrant - with creating person due to not being found
AuthService login should handle bad password on login
  ✅ AuthService login should handle bad password on login
AuthService createUser should call keycloak and prisma
  ✅ AuthService createUser should call keycloak and prisma
AuthService createUser should handle bad password on registration
  ✅ AuthService createUser should handle bad password on registration
AuthService createUser should subscribe email to marketing list if consent is given
  ✅ AuthService createUser should subscribe email to marketing list if consent is given
AuthService createUser should NOT subscribe email to marketing list if NO consent is given
  ✅ AuthService createUser should NOT subscribe email to marketing list if NO consent is given
AuthService deleteUser should delete user successfully
  ✅ AuthService deleteUser should delete user successfully
AuthService deleteUser should handle admin client rejection
  ✅ AuthService deleteUser should handle admin client rejection
AuthService deleteUser should handle Prisma rejection
  ✅ AuthService deleteUser should handle Prisma rejection
AuthService deleteUser should throw when corporate user has beneficiaries
  ✅ AuthService deleteUser should throw when corporate user has beneficiaries
AuthService deleteUser should throw when user has company id
  ✅ AuthService deleteUser should throw when user has company id
AuthService deleteUser should throw when user is organizer
  ✅ AuthService deleteUser should throw when user is organizer
AuthService deleteUser should throw when corporate user has companyId & beneficiaries & is organizer
  ✅ AuthService deleteUser should throw when corporate user has companyId & beneficiaries & is organizer

✅ BankaccountController

BankaccountController should be defined
  ✅ BankaccountController should be defined

✅ BankaccountService

BankaccountService should be defined
  ✅ BankaccountService should be defined

✅ BankTransactionsController

BankTransactionsController should be defined
  ✅ BankTransactionsController should be defined
BankTransactionsController findAll  should return proper bank transactions list
  ✅ BankTransactionsController findAll  should return proper bank transactions list
BankTransactionsController editRef  should update the campaign payment ref of a failed Bank Donation Import
  ✅ BankTransactionsController editRef  should update the campaign payment ref of a failed Bank Donation Import
BankTransactionsController rerunBankSync  should rerun bank transactions for specific dates
  ✅ BankTransactionsController rerunBankSync  should rerun bank transactions for specific dates

✅ BankTransactionsFileController

BankTransactionsFileController should be defined
  ✅ BankTransactionsFileController should be defined

✅ BankTransactionsFileService

BankTransactionsFileService should be defined
  ✅ BankTransactionsFileService should be defined

✅ BankTransactionsService

BankTransactionsService should be defined
  ✅ BankTransactionsService should be defined

✅ BenefactorController

BenefactorController should be defined
  ✅ BenefactorController should be defined

✅ BenefactorService

BenefactorService should be defined
  ✅ BenefactorService should be defined

✅ BeneficiaryController

BeneficiaryController should be defined
  ✅ BeneficiaryController should be defined
BeneficiaryController should list all beneficiaries in db
  ✅ BeneficiaryController should list all beneficiaries in db
BeneficiaryController should get one beneficiary
  ✅ BeneficiaryController should get one beneficiary
BeneficiaryController should throw error if beneficiary does not exist
  ✅ BeneficiaryController should throw error if beneficiary does not exist
BeneficiaryController it should create beneficiary
  ✅ BeneficiaryController it should create beneficiary
BeneficiaryController it should update beneficiary
  ✅ BeneficiaryController it should update beneficiary
BeneficiaryController should remove one item
  ✅ BeneficiaryController should remove one item
BeneficiaryController it should create beneficiary as company
  ✅ BeneficiaryController it should create beneficiary as company

✅ BeneficiaryService

BeneficiaryService should be defined
  ✅ BeneficiaryService should be defined

✅ CampaignController

CampaignController should be defined
  ✅ CampaignController should be defined
CampaignController getData  should return proper campaign list
  ✅ CampaignController getData  should return proper campaign list
CampaignController getAdminList  should return proper campaign list
  ✅ CampaignController getAdminList  should return proper campaign list
CampaignController viewBySlug  should return proper campaign
  ✅ CampaignController viewBySlug  should return proper campaign
CampaignController viewBySlug  should return campaign if older slug was used
  ✅ CampaignController viewBySlug  should return campaign if older slug was used
CampaignController viewBySlug  should throw error for not existing campaign
  ✅ CampaignController viewBySlug  should throw error for not existing campaign
CampaignController update try to update as beneficiery of the campaign
  ✅ CampaignController update try to update as beneficiery of the campaign
CampaignController update try to update as coordinator of the campaign
  ✅ CampaignController update try to update as coordinator of the campaign
CampaignController update try to update as organizer of the campaign
  ✅ CampaignController update try to update as organizer of the campaign
CampaignController update try to update as some other user
  ✅ CampaignController update try to update as some other user
CampaignController subscribeToCampaignNotifications should throw if no consent is provided
  ✅ CampaignController subscribeToCampaignNotifications should throw if no consent is provided
CampaignController subscribeToCampaignNotifications should throw if the campaign is not active
  ✅ CampaignController subscribeToCampaignNotifications should throw if the campaign is not active
CampaignController subscribeToCampaignNotifications should subscribe the user to the campaign and general marketing list
  ✅ CampaignController subscribeToCampaignNotifications should subscribe the user to the campaign and general marketing list
CampaignController subscribeToCampaignNotifications should not generate a campaign marketing list if exists already
  ✅ CampaignController subscribeToCampaignNotifications should not generate a campaign marketing list if exists already
CampaignController subscribeToCampaignNotifications should update the consent of a registered user if was not given previously
  ✅ CampaignController subscribeToCampaignNotifications should update the consent of a registered user if was not given previously
CampaignController subscribeToCampaignNotifications should create a separate notification consent record for non-registered emails
  ✅ CampaignController subscribeToCampaignNotifications should create a separate notification consent record for non-registered emails
CampaignController create  should call create with coordinator id
  ✅ CampaignController create  should call create with coordinator id
CampaignController create  calling without coordinator id should make the creator a coordinator
  ✅ CampaignController create  calling without coordinator id should make the creator a coordinator

✅ CampaignFileController

CampaignFileController should be defined
  ✅ CampaignFileController should be defined
CampaignFileController should call service for create campaign file for admin user
  ✅ CampaignFileController should call service for create campaign file for admin user
CampaignFileController should throw an error for missing person
  ✅ CampaignFileController should throw an error for missing person
CampaignFileController should throw an error for user not owning updated campaign
  ✅ CampaignFileController should throw an error for user not owning updated campaign

✅ CampaignFileService

CampaignFileService should be defined
  ✅ CampaignFileService should be defined

✅ CampaignFileService

CampaignFileService should be defined
  ✅ CampaignFileService should be defined

✅ CampaignNewsController

CampaignNewsController should be defined
  ✅ CampaignNewsController should be defined

✅ CampaignNewsFileController

CampaignNewsFileController should be defined
  ✅ CampaignNewsFileController should be defined
CampaignNewsFileController should allow admins to upload files
  ✅ CampaignNewsFileController should allow admins to upload files
CampaignNewsFileController should allow campaign organizers to upload file 
  ✅ CampaignNewsFileController should allow campaign organizers to upload file
CampaignNewsFileController should throw an error if neither admin or organizer tries to upload a file
  ✅ CampaignNewsFileController should throw an error if neither admin or organizer tries to upload a file
CampaignNewsFileController should allow campaign organizer to delete files
  ✅ CampaignNewsFileController should allow campaign organizer to delete files
CampaignNewsFileController should allow admin to delete files
  ✅ CampaignNewsFileController should allow admin to delete files
CampaignNewsFileController should throw an error if delete request is not coming from organizer or admin
  ✅ CampaignNewsFileController should throw an error if delete request is not coming from organizer or admin
CampaignNewsFileController should throw an error for missing person
  ✅ CampaignNewsFileController should throw an error for missing person
CampaignNewsFileController should throw an error for user not having access
  ✅ CampaignNewsFileController should throw an error for user not having access

✅ CampaignNewsService

CampaignNewsService should be defined
  ✅ CampaignNewsService should be defined

✅ CampaignService

CampaignService update should create notification list, first time campaign state is updated to active
  ✅ CampaignService update should create notification list, first time campaign state is updated to active
CampaignService update should update existing notification list name, if active campaign name is updated
  ✅ CampaignService update should update existing notification list name, if active campaign name is updated

✅ CampaignTypesController

CampaignTypesController should be defined
  ✅ CampaignTypesController should be defined
CampaignTypesController should list all campaign types in db
  ✅ CampaignTypesController should list all campaign types in db
CampaignTypesController should get one campaign type
  ✅ CampaignTypesController should get one campaign type
CampaignTypesController should throw error if campaign type does not exist
  ✅ CampaignTypesController should throw error if campaign type does not exist
CampaignTypesController it should create campaign type
  ✅ CampaignTypesController it should create campaign type
CampaignTypesController it should update campaign type
  ✅ CampaignTypesController it should update campaign type
CampaignTypesController should remove one item
  ✅ CampaignTypesController should remove one item

✅ CampaignTypesService

CampaignTypesService should be defined
  ✅ CampaignTypesService should be defined

✅ CityController

CityController should be defined
  ✅ CityController should be defined
CityController should list all cities
  ✅ CityController should list all cities
CityController should get 1 city
  ✅ CityController should get 1 city
CityController should throw error if city does not exist
  ✅ CityController should throw error if city does not exist
CityController should create a city
  ✅ CityController should create a city
CityController should update a city
  ✅ CityController should update a city
CityController should remove 1 city
  ✅ CityController should remove 1 city

✅ CityService

CityService should be defined
  ✅ CityService should be defined

✅ CompanyController

CompanyController should be defined
  ✅ CompanyController should be defined

✅ CompanyService

CompanyService should be defined
  ✅ CompanyService should be defined

✅ CoordinatorController

CoordinatorController should be defined
  ✅ CoordinatorController should be defined
CoordinatorController getData should list all coordinators
  ✅ CoordinatorController getData should list all coordinators
CoordinatorController getData should get one city
  ✅ CoordinatorController getData should get one city
CoordinatorController create should create new coordinator
  ✅ CoordinatorController create should create new coordinator
CoordinatorController delete should update coordinator
  ✅ CoordinatorController delete should update coordinator

✅ CoordinatorService

CoordinatorService should be defined
  ✅ CoordinatorService should be defined
CoordinatorService should return all
  ✅ CoordinatorService should return all
CoordinatorService Find one should return searching coordinator
  ✅ CoordinatorService Find one should return searching coordinator
CoordinatorService delete should delete
  ✅ CoordinatorService delete should delete

✅ CountryController

CountryController should be defined
  ✅ CountryController should be defined
CountryController should list all countries
  ✅ CountryController should list all countries
CountryController should get 1 country
  ✅ CountryController should get 1 country
CountryController should throw error if trying to get a country that does not exist
  ✅ CountryController should throw error if trying to get a country that does not exist
CountryController should create a country
  ✅ CountryController should create a country
CountryController should update a country
  ✅ CountryController should update a country
CountryController should throw error if trying to update a country that does not exist
  ✅ CountryController should throw error if trying to update a country that does not exist
CountryController should remove a country
  ✅ CountryController should remove a country

✅ CountryService

CountryService should be defined
  ✅ CountryService should be defined

✅ DonationsController

DonationsController should be defined
  ✅ DonationsController should be defined
DonationsController createCheckoutSession should create stripe session for active campaign
  ✅ DonationsController createCheckoutSession should create stripe session for active campaign
DonationsController createCheckoutSession should not create stripe session for completed campaign
  ✅ DonationsController createCheckoutSession should not create stripe session for completed campaign
DonationsController createCheckoutSession should create stripe session for completed campaign if allowed
  ✅ DonationsController createCheckoutSession should create stripe session for completed campaign if allowed
DonationsController should update a donations donor, when it is changed
  ✅ DonationsController should update a donations donor, when it is changed
DonationsController should update a donation status, when it is changed
  ✅ DonationsController should update a donation status, when it is changed
DonationsController should request refund for donation
  ✅ DonationsController should request refund for donation
DonationsController should invalidate a donation and update the vault if needed
  ✅ DonationsController should invalidate a donation and update the vault if needed

✅ DonationsService

DonationsService should be defined
  ✅ DonationsService should be defined

✅ DonationWishController

DonationWishController should be defined
  ✅ DonationWishController should be defined

✅ DonationWishService

DonationWishService should be defined
  ✅ DonationWishService should be defined

✅ EmailService enabled

EmailService enabled  should be defined
  ✅ EmailService enabled  should be defined
EmailService enabled  send() should send email successfully
  ✅ EmailService enabled  send() should send email successfully
EmailService enabled  sendFromTemplate() should send email successfully
  ✅ EmailService enabled  sendFromTemplate() should send email successfully
EmailService enabled  sendFromTemplate() should send email successfully with default sender
  ✅ EmailService enabled  sendFromTemplate() should send email successfully with default sender
EmailService enabled  sendFromTemplate() should throw error for missing recipient
  ✅ EmailService enabled  sendFromTemplate() should throw error for missing recipient
EmailService disabled  should be defined
  ✅ EmailService disabled  should be defined
EmailService disabled  send() should not send email if service is not enabled
  ✅ EmailService disabled  send() should not send email if service is not enabled

✅ ExpensesController

ExpensesController should be defined
  ✅ ExpensesController should be defined
ExpensesController create and update data should create an expense
  ✅ ExpensesController create and update data should create an expense
ExpensesController create and update data should not create an expense with insufficient balance
  ✅ ExpensesController create and update data should not create an expense with insufficient balance
ExpensesController create and update data should update an expense, when it is approved
  ✅ ExpensesController create and update data should update an expense, when it is approved
ExpensesController create and update data should raise an exception, since the user is not authorized
  ✅ ExpensesController create and update data should raise an exception, since the user is not authorized
ExpensesController create and update data should not update a withdrawal, when it is already approved/cancelled
  ✅ ExpensesController create and update data should not update a withdrawal, when it is already approved/cancelled
ExpensesController create and update data should not update an expense, when its vault is being changed
  ✅ ExpensesController create and update data should not update an expense, when its vault is being changed

✅ ExpensesService

ExpensesService should be defined
  ✅ ExpensesService should be defined

✅ HealthController

HealthController should be defined
  ✅ HealthController should be defined

✅ ImportTransactionsTask

ImportTransactionsTask should be defined
  ✅ ImportTransactionsTask should be defined
ImportTransactionsTask importBankTransactionsTASK should import IRIS transactions
  ✅ ImportTransactionsTask importBankTransactionsTASK should import IRIS transactions
ImportTransactionsTask importBankTransactionsTASK should not run if no transactions have been fetched
  ✅ ImportTransactionsTask importBankTransactionsTASK should not run if no transactions have been fetched
ImportTransactionsTask importBankTransactionsTASK should handle EUR currency and parse the BGN equivalent from the transactionId
  ✅ ImportTransactionsTask importBankTransactionsTASK should handle EUR currency and parse the BGN equivalent from the transactionId
ImportTransactionsTask importBankTransactionsTASK should handle USD currency and parse the BGN equivalent from the transactionId
  ✅ ImportTransactionsTask importBankTransactionsTASK should handle USD currency and parse the BGN equivalent from the transactionId
ImportTransactionsTask importBankTransactionsTASK should set matchedRef to null when the EUR currency amount cannot be parsed from the transaction id
  ✅ ImportTransactionsTask importBankTransactionsTASK should set matchedRef to null when the EUR currency amount cannot be parsed from the transaction id
ImportTransactionsTask importBankTransactionsTASK extractAmountFromTransactionId can parse a whole number
  ✅ ImportTransactionsTask importBankTransactionsTASK extractAmountFromTransactionId can parse a whole number
ImportTransactionsTask importBankTransactionsTASK extractAmountFromTransactionId can parse a floating number
  ✅ ImportTransactionsTask importBankTransactionsTASK extractAmountFromTransactionId can parse a floating number
ImportTransactionsTask importBankTransactionsTASK extractAmountFromTransactionId can parse a zero
  ✅ ImportTransactionsTask importBankTransactionsTASK extractAmountFromTransactionId can parse a zero
ImportTransactionsTask importBankTransactionsTASK extractAmountFromTransactionId will not parse a negative number
  ✅ ImportTransactionsTask importBankTransactionsTASK extractAmountFromTransactionId will not parse a negative number
ImportTransactionsTask importBankTransactionsTASK extractAmountFromTransactionId will not parse empty number
  ✅ ImportTransactionsTask importBankTransactionsTASK extractAmountFromTransactionId will not parse empty number
ImportTransactionsTask importBankTransactionsTASK extractAmountFromTransactionId will not parse invalid floating number
  ✅ ImportTransactionsTask importBankTransactionsTASK extractAmountFromTransactionId will not parse invalid floating number
ImportTransactionsTask importBankTransactionsTASK extractAmountFromTransactionId will not parse string
  ✅ ImportTransactionsTask importBankTransactionsTASK extractAmountFromTransactionId will not parse string
ImportTransactionsTask notifyForExpiringIrisConsentTASK should notify for expiring Iris Consent
  ✅ ImportTransactionsTask notifyForExpiringIrisConsentTASK should notify for expiring Iris Consent
ImportTransactionsTask should NOT notify for expiring Iris Consent before expTreshold is met
  ✅ ImportTransactionsTask should NOT notify for expiring Iris Consent before expTreshold is met

✅ ImportTransactionsTask

ImportTransactionsTask should be defined
  ✅ ImportTransactionsTask should be defined
ImportTransactionsTask initIrisTasks should init all dynamicaly scheduled tasks
  ✅ ImportTransactionsTask initIrisTasks should init all dynamicaly scheduled tasks

✅ InfoRequestController

InfoRequestController should be defined
  ✅ InfoRequestController should be defined

✅ InfoRequestService

InfoRequestService should be defined
  ✅ InfoRequestService should be defined

✅ IrregularityController

IrregularityController should be defined
  ✅ IrregularityController should be defined

✅ IrregularityFileController

IrregularityFileController should be defined
  ✅ IrregularityFileController should be defined

✅ IrregularityFileService

IrregularityFileService should be defined
  ✅ IrregularityFileService should be defined

✅ IrregularityService

IrregularityService should be defined
  ✅ IrregularityService should be defined

✅ LoginController

LoginController should be defined
  ✅ LoginController should be defined
LoginController createUser should call createUser
  ✅ LoginController createUser should call createUser

✅ MarketingNotificationsController

MarketingNotificationsController should be defined
  ✅ MarketingNotificationsController should be defined
MarketingNotificationsController sendConfirmation should skip sending if user is registered + subscribed
  ✅ MarketingNotificationsController sendConfirmation should skip sending if user is registered + subscribed
MarketingNotificationsController sendConfirmation should skip sending if user is non-registered + subscribed
  ✅ MarketingNotificationsController sendConfirmation should skip sending if user is non-registered + subscribed
MarketingNotificationsController sendConfirmation should send email to non logged user with no-consent
  ✅ MarketingNotificationsController sendConfirmation should send email to non logged user with no-consent
MarketingNotificationsController sendConfirmation should send email to logged user with no-consent
  ✅ MarketingNotificationsController sendConfirmation should send email to logged user with no-consent
MarketingNotificationsController sendConfirmation should skip sending email if last sent was less than one minute ago
  ✅ MarketingNotificationsController sendConfirmation should skip sending email if last sent was less than one minute ago
MarketingNotificationsController subscribePublic should throw if email+hash not found
  ✅ MarketingNotificationsController subscribePublic should throw if email+hash not found
MarketingNotificationsController subscribePublic should skip calling Marketing Platform if user is registered + subscribed
  ✅ MarketingNotificationsController subscribePublic should skip calling Marketing Platform if user is registered + subscribed
MarketingNotificationsController subscribePublic should skip calling Marketing Platform if user is non-registered + subscribed
  ✅ MarketingNotificationsController subscribePublic should skip calling Marketing Platform if user is non-registered + subscribed
MarketingNotificationsController subscribePublic should add unsubscribed NOT registered email to Marketing Platform main marketing list
  ✅ MarketingNotificationsController subscribePublic should add unsubscribed NOT registered email to Marketing Platform main marketing list
MarketingNotificationsController subscribePublic should add unsubscribed registered email to Marketing Platform main marketing list
  ✅ MarketingNotificationsController subscribePublic should add unsubscribed registered email to Marketing Platform main marketing list
MarketingNotificationsController subscribePublic should add email to Marketing Platform marketing list + campaign list if provided campaign id
  ✅ MarketingNotificationsController subscribePublic should add email to Marketing Platform marketing list + campaign list if provided campaign id
MarketingNotificationsController unsubscribePublic should throw if email not found
  ✅ MarketingNotificationsController unsubscribePublic should throw if email not found
MarketingNotificationsController unsubscribePublic should skip calling Marketing Platform if user is registered + UNsubscribed already
  ✅ MarketingNotificationsController unsubscribePublic should skip calling Marketing Platform if user is registered + UNsubscribed already
MarketingNotificationsController unsubscribePublic should skip calling Marketing Platform if user is non-registered + UNsubscribed already
  ✅ MarketingNotificationsController unsubscribePublic should skip calling Marketing Platform if user is non-registered + UNsubscribed already
MarketingNotificationsController unsubscribePublic should add subscribed NOT registered email to Marketing Platform global unsubscribe list
  ✅ MarketingNotificationsController unsubscribePublic should add subscribed NOT registered email to Marketing Platform global unsubscribe list
MarketingNotificationsController unsubscribePublic should add subscribed registered email to Marketing Platform global unsubscribe list
  ✅ MarketingNotificationsController unsubscribePublic should add subscribed registered email to Marketing Platform global unsubscribe list
MarketingNotificationsController unsubscribePublic should remove email only from Marketing Platform campaign list -  WITHOUT adding it to global unsubscribe list
  ✅ MarketingNotificationsController unsubscribePublic should remove email only from Marketing Platform campaign list -  WITHOUT adding it to global unsubscribe list
MarketingNotificationsController subscribe should throw if consent not provided
  ✅ MarketingNotificationsController subscribe should throw if consent not provided
MarketingNotificationsController subscribe should add logged user to main marketing list
  ✅ MarketingNotificationsController subscribe should add logged user to main marketing list
MarketingNotificationsController unsubscribe should skip calling Marketing Platform if already unsubscribed
  ✅ MarketingNotificationsController unsubscribe should skip calling Marketing Platform if already unsubscribed
MarketingNotificationsController unsubscribe should add logged user to Marketing Platform global unsubscribe list
  ✅ MarketingNotificationsController unsubscribe should add logged user to Marketing Platform global unsubscribe list
MarketingNotificationsController unsubscribe should remove logged user ONLY from Marketing Platform campaign list - WITHOUT adding to global unsubscribe list
  ✅ MarketingNotificationsController unsubscribe should remove logged user ONLY from Marketing Platform campaign list - WITHOUT adding to global unsubscribe list

✅ OrganizerController

OrganizerController should be defined
  ✅ OrganizerController should be defined

✅ OrganizerService

OrganizerService should be defined
  ✅ OrganizerService should be defined

✅ PaypalController

PaypalController should be defined
  ✅ PaypalController should be defined

✅ PaypalService

PaypalService should be defined
  ✅ PaypalService should be defined

✅ PersonController

PersonController should be defined
  ✅ PersonController should be defined

✅ PersonService with enable client list

PersonService with enable client list  should be defined
  ✅ PersonService with enable client list  should be defined
PersonService with enable client list  should create person and add it to contact list
  ✅ PersonService with enable client list  should create person and add it to contact list
PersonService with enable client list  should create person without adding it to contact list
  ✅ PersonService with enable client list  should create person without adding it to contact list
PersonService with disable client list  should be defined
  ✅ PersonService with disable client list  should be defined
PersonService with disable client list  should create person without adding it to contact list
  ✅ PersonService with disable client list  should create person without adding it to contact list

✅ podkrepiTypes

podkrepiTypes should work
  ✅ podkrepiTypes should work

✅ PrismaService

PrismaService should be defined
  ✅ PrismaService should be defined

✅ ProviderLoginController

ProviderLoginController should be defined
  ✅ ProviderLoginController should be defined
ProviderLoginController refreshToken should call refreshToken
  ✅ ProviderLoginController refreshToken should call refreshToken

✅ RecurringDonationController

RecurringDonationController should be defined
  ✅ RecurringDonationController should be defined

✅ RecurringDonationService

RecurringDonationService should be defined
  ✅ RecurringDonationService should be defined
RecurringDonationService should return all recurring donations
  ✅ RecurringDonationService should return all recurring donations
RecurringDonationService should return a recurring donation by id
  ✅ RecurringDonationService should return a recurring donation by id
RecurringDonationService should call stripe cancel service my subscription id
  ✅ RecurringDonationService should call stripe cancel service my subscription id
RecurringDonationService should cancel a subscription in db
  ✅ RecurringDonationService should cancel a subscription in db
RecurringDonationService should create  a subscription in db
  ✅ RecurringDonationService should create  a subscription in db

✅ RefreshController

RefreshController should be defined
  ✅ RefreshController should be defined
RefreshController refreshToken should call refreshToken
  ✅ RefreshController refreshToken should call refreshToken

✅ RegisterController

RegisterController should be defined
  ✅ RegisterController should be defined
RegisterController createUser should call createUser
  ✅ RegisterController createUser should call createUser

✅ StripePaymentService

StripePaymentService should be defined
  ✅ StripePaymentService should be defined
StripePaymentService should handle payment_intent.created
  ✅ StripePaymentService should handle payment_intent.created
StripePaymentService should handle payment_intent.canceled
  ✅ StripePaymentService should handle payment_intent.canceled
StripePaymentService should handle payment_intent.payment_failed
  ✅ StripePaymentService should handle payment_intent.payment_failed
StripePaymentService should handle charge.succeeded for not anonymous user
  ✅ StripePaymentService should handle charge.succeeded for not anonymous user
StripePaymentService should handle charge.succeeded for anonymous user
  ✅ StripePaymentService should handle charge.succeeded for anonymous user
StripePaymentService should handle charge.refunded
  ✅ StripePaymentService should handle charge.refunded
StripePaymentService calculate payment-intent.created
  ✅ StripePaymentService calculate payment-intent.created
StripePaymentService calculate payment-intent.succeeded with BG tax included in charge
  ✅ StripePaymentService calculate payment-intent.succeeded with BG tax included in charge
StripePaymentService should handle customer.subscription.created
  ✅ StripePaymentService should handle customer.subscription.created
StripePaymentService should handle invoice.paid
  ✅ StripePaymentService should handle invoice.paid
StripePaymentService should cancel all active subscriptions if the campaign is completed
  ✅ StripePaymentService should cancel all active subscriptions if the campaign is completed
 calculate payment-intent.succeeded with BG tax not included in charge
  ✅ calculate payment-intent.succeeded with BG tax not included in charge
 calculate payment-intent.succeeded with US tax included in charge
  ✅ calculate payment-intent.succeeded with US tax included in charge
 calculate payment-intent.succeeded with GB tax included in charge
  ✅ calculate payment-intent.succeeded with GB tax included in charge

✅ SupportController

SupportController should be defined
  ✅ SupportController should be defined
SupportController getSuporters should list all supporters in db
  ✅ SupportController getSuporters should list all supporters in db
SupportController getInfoRequests should list all info requests in db
  ✅ SupportController getInfoRequests should list all info requests in db

✅ SupportService

SupportService should be defined
  ✅ SupportService should be defined

✅ TransferController

TransferController should be defined
  ✅ TransferController should be defined
TransferController should list all transfers
  ✅ TransferController should list all transfers
TransferController should get 1 transfer
  ✅ TransferController should get 1 transfer
TransferController should throw an error if a transfer does not exist
  ✅ TransferController should throw an error if a transfer does not exist
TransferController create and update data should create a transfer
  ✅ TransferController create and update data should create a transfer
TransferController create and update data should not create a transfer with insufficient balance
  ✅ TransferController create and update data should not create a transfer with insufficient balance
TransferController create and update data should update a transfer, when it is approved
  ✅ TransferController create and update data should update a transfer, when it is approved
TransferController create and update data should update a transfer, when it is declined
  ✅ TransferController create and update data should update a transfer, when it is declined
TransferController create and update data should not update a transfer, when it is already approved/declined/cancelled
  ✅ TransferController create and update data should not update a transfer, when it is already approved/declined/cancelled
TransferController create and update data should not update a transfer, when its source vault is being changed
  ✅ TransferController create and update data should not update a transfer, when its source vault is being changed
TransferController removeData should not remove transfers
  ✅ TransferController removeData should not remove transfers

✅ TransferService

TransferService should be defined
  ✅ TransferService should be defined

✅ VaultController

VaultController should be defined
  ✅ VaultController should be defined
VaultController should call create
  ✅ VaultController should call create
VaultController should not call create if user is not the owner
  ✅ VaultController should not call create if user is not the owner
VaultController should call update
  ✅ VaultController should call update
VaultController should not call update if user is not owner
  ✅ VaultController should not call update if user is not owner
VaultController should call remove on empty vaults
  ✅ VaultController should call remove on empty vaults
VaultController should not call remove on non-empty vaults
  ✅ VaultController should not call remove on non-empty vaults
VaultController should not call remove in user is not owner
  ✅ VaultController should not call remove in user is not owner

✅ VaultService

VaultService should be defined
  ✅ VaultService should be defined
VaultService decrementManyVaults should throw an error if one vaults returns negative amount
  ✅ VaultService decrementManyVaults should throw an error if one vaults returns negative amount
VaultService prepareVaultObjectFromDonation should return VaultUpdate object
  ✅ VaultService prepareVaultObjectFromDonation should return VaultUpdate object
VaultService prepareSQLValuesString should return string of VALUES to be updated by SQL statement
  ✅ VaultService prepareSQLValuesString should return string of VALUES to be updated by SQL statement

✅ WithdrawalController

WithdrawalController should be defined
  ✅ WithdrawalController should be defined
WithdrawalController getData should list all withdrawals
  ✅ WithdrawalController getData should list all withdrawals
WithdrawalController getData should get one withdrawal
  ✅ WithdrawalController getData should get one withdrawal
WithdrawalController should throw error if withdrawal does not exist
  ✅ WithdrawalController should throw error if withdrawal does not exist
WithdrawalController create and update data should create a withdrawal
  ✅ WithdrawalController create and update data should create a withdrawal
WithdrawalController create and update data should not create a withdrawal with insufficient balance
  ✅ WithdrawalController create and update data should not create a withdrawal with insufficient balance
WithdrawalController create and update data should update a withdrawal, when it is approved
  ✅ WithdrawalController create and update data should update a withdrawal, when it is approved
WithdrawalController create and update data should update a withdrawal, when it is declined
  ✅ WithdrawalController create and update data should update a withdrawal, when it is declined
WithdrawalController create and update data should not update a withdrawal, when it is already approved/declined/cancelled
  ✅ WithdrawalController create and update data should not update a withdrawal, when it is already approved/declined/cancelled
WithdrawalController create and update data should not update a withdrawal, when its vault is being changed
  ✅ WithdrawalController create and update data should not update a withdrawal, when its vault is being changed
WithdrawalController removeData should decrement vault's blockedAmount on initial withdrawn deletion
  ✅ WithdrawalController removeData should decrement vault's blockedAmount on initial withdrawn deletion
WithdrawalController removeData should increment vault's amount on succeeded withdrawn deletion 
  ✅ WithdrawalController removeData should increment vault's amount on succeeded withdrawn deletion
WithdrawalController removeData shouldn't update vault's amount and blockedAmount on cancelled withdrawn deletion
  ✅ WithdrawalController removeData shouldn't update vault's amount and blockedAmount on cancelled withdrawn deletion
WithdrawalController removeData shouldn't update vault's amount and blockedAmount on declined withdrawn deletion
  ✅ WithdrawalController removeData shouldn't update vault's amount and blockedAmount on declined withdrawn deletion
WithdrawalController removeData Should throw an error if delete query rejects
  ✅ WithdrawalController removeData Should throw an error if delete query rejects

✅ WithdrawalService

WithdrawalService should be defined
  ✅ WithdrawalService should be defined