fmido88 / moodle-enrol_wallet

Enrollment using wallet credit with coupons and using payments gateways with restrictions.
Other
3 stars 1 forks source link

Invalid @covers #25

Closed ewallah closed 3 months ago

ewallah commented 6 months ago

If you run phpunit tests calculating the code coverage, you get 47 warnings:

RUN  PHPUnit tests for enrol_wallet
Moodle 4.2.6+
Php: 8.2.16
PHPUnit 9.5.28

WWWWWWWWW.WWWWWWWWWWWWWWW.WWWWWWWWWWWWWWWWWWWWWWW                 49 / 49 (100%)

Time: 01:42.533, Memory: 231.00 MB

There were 47 warnings:

1) enrol_wallet\coupons_test::test_is_enabled_type
"@covers ::is_enabled_type" is invalid

2) enrol_wallet\coupons_test::test_is_enabled
"@covers ::is_enabled" is invalid

3) enrol_wallet\coupons_test::test_validate_fixed_coupon
"@covers ::validate_coupon" is invalid

4) enrol_wallet\coupons_test::test_validate_enrol_coupon
"@covers ::validate_coupon" is invalid

5) enrol_wallet\coupons_test::test_validate_discount_coupon
"@covers ::validate_coupon" is invalid

6) enrol_wallet\coupons_test::test_validate_category_coupon
"@covers ::validate_coupons" is invalid

7) enrol_wallet\coupons_test::test_apply_fixed_coupon
"@covers ::apply_coupon" is invalid

8) enrol_wallet\coupons_test::test_apply_category_coupon
"@covers ::apply_coupon" is invalid

9) enrol_wallet\coupons_test::test_apply_enrol_coupon
"@covers ::apply_coupon" is invalid

10) enrol_wallet\enrol_wallet_test::test_sync_nothing
"@covers ::sync" is invalid

11) enrol_wallet\enrol_wallet_test::test_longtimnosee
"@covers ::sync" is invalid

12) enrol_wallet\enrol_wallet_test::test_expired
"@covers ::expired" is invalid

13) enrol_wallet\enrol_wallet_test::test_send_expiry_notifications
"@covers ::send_expiry_notification" is invalid

14) enrol_wallet\enrol_wallet_test::test_show_enrolme_link
"@covers ::show_enrolme_link" is invalid

15) enrol_wallet\enrol_wallet_test::test_can_self_enrol
"@covers ::can_self_enrol" is invalid

16) enrol_wallet\enrol_wallet_test::test_get_welcome_email_contact
"@covers ::get_welcome_email_contact" is invalid

17) enrol_wallet\enrol_wallet_test::test_get_user_enrolment_actions
"@covers ::get_user_enrolment_actions" is invalid

18) enrol_wallet\enrol_wallet_test::test_enrol_self
"@covers ::enrol_self" is invalid

19) enrol_wallet\enrol_wallet_test::test_is_course_enrolment_restriction
"@covers ::is_course_enrolment_restriction" is invalid

20) enrol_wallet\enrol_wallet_test::test_hide_due_cheaper_instance
"@covers ::hide_due_cheaper_instance" is invalid

21) enrol_wallet\enrol_wallet_test::test_unenrol_user
"@covers ::unenrol_user" is invalid

22) enrol_wallet\enrol_wallet_test::test_get_unenrolself_link
"@covers ::get_unenrolself_link" is invalid

23) enrol_wallet\externallib_test::test_get_instance_info
"@covers ::get_instance_info" is invalid

24) enrol_wallet\externallib_test::test_enrol_user
"@covers ::enrol_user" is invalid

25) enrol_wallet\notifications_test::test_transaction_notifications
"@covers ::transaction_notify" is invalid

26) enrol_wallet\observer_test::test_wallet_completion_awards
"@covers ::wallet_completion_awards" is invalid

27) enrol_wallet\observer_test::test_wallet_gifting_new_user
"@covers ::wallet_gifting_new_user" is invalid

28) enrol_wallet\observer_test::test_release_referral_gift
"@covers ::release_referral_gift" is invalid

29) enrol_wallet\payment\service_provider_test::test_get_payable_walletenrol
"@covers ::get_payable" is invalid

30) enrol_wallet\payment\service_provider_test::test_get_payable_wallettopup
"@covers ::get_payable" is invalid

31) enrol_wallet\payment\service_provider_test::test_get_success_url_walletenrol
"@covers ::get_success_url" is invalid

32) enrol_wallet\payment\service_provider_test::test_get_success_url_wallettopup
"@covers ::get_success_url" is invalid

33) enrol_wallet\payment\service_provider_test::test_deliver_order_walletenrol
"@covers ::deliver_order" is invalid

34) enrol_wallet\payment\service_provider_test::test_deliver_order_wallettopup
"@covers ::deliver_order" is invalid

35) enrol_wallet\transactions_test::test_credit_debit
"@covers ::payment_topup" is invalid

36) enrol_wallet\transactions_test::test_get_coupon_value
"@covers ::get_coupon_value" is invalid

37) enrol_wallet\turn_non_refundable_test::test_turn_non_refundable
"@covers \turn_non_refundable" is invalid

38) enrol_wallet\turn_non_refundable_test::test_check_transform_validation
"@covers ::check_transform_validation" is invalid

39) enrol_wallet\util\balance_op_test::test_conditional_discount_charging
"@covers ::conditional_discount_charging" is invalid

40) enrol_wallet\util\balance_op_test::test_credit
"@covers ::credit" is invalid

41) enrol_wallet\util\balance_op_test::test_credit_nocat
"@covers ::credit" is invalid

42) enrol_wallet\util\balance_op_test::test_debit
"@covers ::debit" is invalid

43) enrol_wallet\util\balance_op_test::test_debit_nocat
"@covers ::debit" is invalid

44) enrol_wallet\util\balance_op_test::test_free_balance
"@covers ::get_total_free" is invalid

45) enrol_wallet\util\balance_op_test::test_transfer_to_other
"@covers ::transfer_to_other" is invalid

46) enrol_wallet\util\instance_test::test_get_cost_after_discount
"@covers ::get_cost_after_discount" is invalid

47) enrol_wallet\util\instance_test::test_repurchase_discount_and_function
"@covers ::get_cost_after_discount" is invalid

WARNINGS!
Tests: 49, Assertions: 1072, Warnings: 47.

Generating code coverage report in Clover XML format ... done [00:00.475]

Code Coverage Report:
  2024-03-12 04:45:05

 Summary:
  Classes:  0.00% (0/59)
  Methods: 21.98% (91/414)
  Lines:   21.79% (2040/9362)

enrol_wallet\api\balance_op
  Methods:   0.00% ( 0/ 3)   Lines:   0.00% (  0/ 15)
enrol_wallet\api\instance
  Methods:   0.00% ( 0/ 3)   Lines:   0.00% (  0/ 14)
enrol_wallet\api\offers_form
  Methods:   0.00% ( 0/ 3)   Lines:   0.00% (  0/ 17)
enrol_wallet\category\helper
  Methods:  55.56% ( 5/ 9)   Lines:  67.92% ( 36/ 53)
enrol_wallet\category\operations
  Methods:  58.33% ( 7/12)   Lines:  85.15% ( 86/101)
enrol_wallet\category\options
  Methods:   0.00% ( 0/ 9)   Lines:   0.00% (  0/ 93)
enrol_wallet\coupons
  Methods:  40.00% (12/30)   Lines:  74.77% (249/333)
enrol_wallet\deleteselectedusers_form
  Methods:  ( 0/ 0)   Lines:  (  0/  0)
enrol_wallet\deleteselectedusers_operation
  Methods:   0.00% ( 0/ 4)   Lines:   0.00% (  0/ 17)
enrol_wallet\editselectedusers_form
  Methods:  ( 0/ 0)   Lines:  (  0/  0)
enrol_wallet\editselectedusers_operation
  Methods:   0.00% ( 0/ 4)   Lines:   0.00% (  0/ 58)
enrol_wallet\event\award_granted
  Methods:  33.33% ( 1/ 3)   Lines:  30.00% (  3/ 10)
enrol_wallet\event\cashback_applied
  Methods:  33.33% ( 1/ 3)   Lines:  30.00% (  3/ 10)
enrol_wallet\event\coupon_used
  Methods:  33.33% ( 1/ 3)   Lines:  37.50% (  3/  8)
enrol_wallet\event\enrolpage_viewed
  Methods:   0.00% ( 0/ 4)   Lines:   0.00% (  0/ 17)
enrol_wallet\event\newuser_gifted
  Methods:  33.33% ( 1/ 3)   Lines:  37.50% (  3/  8)
enrol_wallet\event\transactions_triggered
  Methods:  33.33% ( 1/ 3)   Lines:  17.65% (  3/ 17)
enrol_wallet\form\applycoupon_form
  Methods:   0.00% ( 0/ 3)   Lines:   0.00% (  0/ 92)
enrol_wallet\form\charger_form
  Methods:   0.00% ( 0/ 4)   Lines:   0.00% (  0/106)
enrol_wallet\form\conditional_discount
  Methods:   0.00% ( 0/ 2)   Lines:   0.00% (  0/ 45)
enrol_wallet\form\coupons_edit
  Methods:   0.00% ( 0/ 2)   Lines:   0.00% (  0/ 76)
enrol_wallet\form\coupons_generator
  Methods:   0.00% ( 0/ 2)   Lines:   0.00% (  0/ 93)
enrol_wallet\form\coupons_upload
  Methods:   0.00% ( 0/ 2)   Lines:   0.00% (  0/ 28)
enrol_wallet\form\empty_form
  Methods:   0.00% ( 0/ 1)   Lines:   0.00% (  0/  3)
enrol_wallet\form\enrol_form
  Methods:   0.00% ( 0/ 3)   Lines:   0.00% (  0/ 53)
enrol_wallet\form\insuf_form
  Methods:   0.00% ( 0/ 1)   Lines:   0.00% (  0/  3)
enrol_wallet\form\topup_form
  Methods:   0.00% ( 0/ 3)   Lines:   0.00% (  0/ 67)
enrol_wallet\form\transactions_filter
  Methods:   0.00% ( 0/ 1)   Lines:   0.00% (  0/ 54)
enrol_wallet\form\transfer_form
  Methods:   0.00% ( 0/ 3)   Lines:  81.72% ( 76/ 93)
enrol_wallet\notifications
  Methods:   0.00% ( 0/ 1)   Lines:  94.74% ( 36/ 38)
enrol_wallet\observer
  Methods:  33.33% ( 2/ 6)   Lines:  70.97% (110/155)
enrol_wallet\output\payment_info
  Methods:   0.00% ( 0/ 4)   Lines:   0.00% (  0/ 45)
enrol_wallet\output\renderer
  Methods:   0.00% ( 0/ 4)   Lines:   0.00% (  0/ 12)
enrol_wallet\output\wallet_balance
  Methods:   0.00% ( 0/ 2)   Lines:   0.00% (  0/ 51)
enrol_wallet\pages
  Methods:   0.00% ( 0/ 4)   Lines:   0.00% (  0/188)
enrol_wallet\payment\service_provider
  Methods:  66.67% ( 2/ 3)   Lines:  93.94% ( 31/ 33)
enrol_wallet\privacy\provider
  Methods:   0.00% ( 0/ 7)   Lines:   0.00% (  0/260)
enrol_wallet\restriction\frontend
  Methods:   0.00% ( 0/ 1)   Lines:   0.00% (  0/ 51)
enrol_wallet\restriction\info
  Methods:   0.00% ( 0/11)   Lines:   0.00% (  0/ 86)
enrol_wallet\restriction\tree
  Methods:   0.00% ( 0/ 2)   Lines:   0.00% (  0/ 46)
enrol_wallet\table\transactions
  Methods:   0.00% ( 0/12)   Lines:   0.00% (  0/ 92)
enrol_wallet\task\cleanup_wallet_items
  Methods:   0.00% ( 0/ 2)   Lines:   0.00% (  0/ 14)
enrol_wallet\task\migrate_enrollments
  Methods:   0.00% ( 0/ 5)   Lines:   0.00% (  0/109)
enrol_wallet\task\send_expiry_notifications
  Methods:   0.00% ( 0/ 2)   Lines:   0.00% (  0/  4)
enrol_wallet\task\sync_enrolments
  Methods:   0.00% ( 0/ 2)   Lines:   0.00% (  0/  4)
enrol_wallet\task\turn_non_refundable
  Methods:   0.00% ( 0/ 4)   Lines:  85.71% ( 66/ 77)
enrol_wallet\transactions
  Methods:  25.00% ( 2/ 8)   Lines:  31.48% ( 17/ 54)
enrol_wallet\uploadcoupon\processor
  Methods:   0.00% ( 0/ 7)   Lines:   0.00% (  0/206)
enrol_wallet\uploadcoupon\processor_exception
  Methods:   0.00% ( 0/ 1)   Lines:   0.00% (  0/  2)
enrol_wallet\uploadcoupon\tracker
  Methods:   0.00% ( 0/ 5)   Lines:   0.00% (  0/ 68)
enrol_wallet\util\balance
  Methods:  72.41% (21/29)   Lines:  87.04% (188/216)
enrol_wallet\util\balance_op
  Methods:  47.62% (10/21)   Lines:  75.37% (306/406)
enrol_wallet\util\cm
  Methods:   0.00% ( 0/ 7)   Lines:   0.00% (  0/ 49)
enrol_wallet\util\discount_rules
  Methods:   8.33% ( 1/12)   Lines:  17.86% ( 30/168)
enrol_wallet\util\fake_info
  Methods:   0.00% ( 0/ 5)   Lines:   0.00% (  0/  5)
enrol_wallet\util\instance
  Methods:  52.38% (11/21)   Lines:  68.00% (102/150)
enrol_wallet\util\offers
  Methods:   3.45% ( 1/29)   Lines:   4.54% ( 21/463)
enrol_wallet\util\section
  Methods:   0.00% ( 0/ 7)   Lines:   0.00% (  0/ 48)
enrol_wallet\wordpress
  Methods:   0.00% ( 0/ 8)   Lines:   0.00% (  0/139)
enrol_wallet_external
  Methods:  66.67% ( 4/ 6)   Lines:  91.58% ( 87/ 95)
enrol_wallet_plugin
  Methods:  15.09% ( 8/53)   Lines:  38.55% (352/913)

When adding a coversDefaultClass tag, the warnings are gone. Sample:


/**
 * Tests for balance operations class.
 *
 * @package    enrol_wallet
 * @category   test
 * @copyright  2024 Mohammad Farouk <phun.for.physics@gmail.com>
 * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
 * @coversDefaultClass \enrol_wallet_plugin
 */
final class balance_op_test extends \advanced_testcase {