lsuonline / lsuce-block_quickmail

5 stars 32 forks source link

Unit test failing: Error: [] operator not supported for strings #71

Open guillogo opened 1 year ago

guillogo commented 1 year ago

Hi, there are 19 errors when executing unit test due to: https://github.com/lsuonline/lsuce-block_quickmail/blob/master/tests/unit/traits/submits_compose_message_form.php#L89

There were 19 errors:

1) block_quickmail_messenger_compose_testcase::test_messenger_sends_composed_email_now
Error: [] operator not supported for strings

/var/www/site/blocks/quickmail/tests/unit/traits/submits_compose_message_form.php:89
/var/www/site/blocks/quickmail/tests/unit/traits/submits_compose_message_form.php:34
/var/www/site/blocks/quickmail/tests/unit/messenger_compose_test.php:55
/var/www/site/lib/phpunit/classes/advanced_testcase.php:80
phpvfscomposer:///var/www/site/vendor/phpunit/phpunit/phpunit:97

2) block_quickmail_messenger_compose_testcase::test_messenger_sends_composed_email_including_mentors_now
Error: [] operator not supported for strings

/var/www/site/blocks/quickmail/tests/unit/traits/submits_compose_message_form.php:89
/var/www/site/blocks/quickmail/tests/unit/traits/submits_compose_message_form.php:34
/var/www/site/blocks/quickmail/tests/unit/messenger_compose_test.php:86
/var/www/site/lib/phpunit/classes/advanced_testcase.php:80
phpvfscomposer:///var/www/site/vendor/phpunit/phpunit/phpunit:97

3) block_quickmail_messenger_compose_testcase::test_messenger_sends_composed_message_now
Error: [] operator not supported for strings

/var/www/site/blocks/quickmail/tests/unit/traits/submits_compose_message_form.php:89
/var/www/site/blocks/quickmail/tests/unit/traits/submits_compose_message_form.php:34
/var/www/site/blocks/quickmail/tests/unit/messenger_compose_test.php:140
/var/www/site/lib/phpunit/classes/advanced_testcase.php:80
phpvfscomposer:///var/www/site/vendor/phpunit/phpunit/phpunit:97

4) block_quickmail_messenger_compose_testcase::test_skips_invalid_user_ids_when_sending
Error: [] operator not supported for strings

/var/www/site/blocks/quickmail/tests/unit/traits/submits_compose_message_form.php:89
/var/www/site/blocks/quickmail/tests/unit/traits/submits_compose_message_form.php:34
/var/www/site/blocks/quickmail/tests/unit/messenger_compose_test.php:163
/var/www/site/lib/phpunit/classes/advanced_testcase.php:80
phpvfscomposer:///var/www/site/vendor/phpunit/phpunit/phpunit:97

5) block_quickmail_messenger_compose_testcase::test_messenger_does_not_send_scheduled_composed_email_now
Error: [] operator not supported for strings

/var/www/site/blocks/quickmail/tests/unit/traits/submits_compose_message_form.php:89
/var/www/site/blocks/quickmail/tests/unit/traits/submits_compose_message_form.php:34
/var/www/site/blocks/quickmail/tests/unit/messenger_compose_test.php:192
/var/www/site/lib/phpunit/classes/advanced_testcase.php:80
phpvfscomposer:///var/www/site/vendor/phpunit/phpunit/phpunit:97

6) block_quickmail_messenger_compose_testcase::test_messenger_sends_to_additional_emails
Error: [] operator not supported for strings

/var/www/site/blocks/quickmail/tests/unit/traits/submits_compose_message_form.php:89
/var/www/site/blocks/quickmail/tests/unit/traits/submits_compose_message_form.php:34
/var/www/site/blocks/quickmail/tests/unit/messenger_compose_test.php:218
/var/www/site/lib/phpunit/classes/advanced_testcase.php:80
phpvfscomposer:///var/www/site/vendor/phpunit/phpunit/phpunit:97

7) block_quickmail_messenger_compose_testcase::test_messenger_sends_a_receipt_if_asked
Error: [] operator not supported for strings

/var/www/site/blocks/quickmail/tests/unit/traits/submits_compose_message_form.php:89
/var/www/site/blocks/quickmail/tests/unit/traits/submits_compose_message_form.php:34
/var/www/site/blocks/quickmail/tests/unit/messenger_compose_test.php:252
/var/www/site/lib/phpunit/classes/advanced_testcase.php:80
phpvfscomposer:///var/www/site/vendor/phpunit/phpunit/phpunit:97

8) block_quickmail_messenger_compose_testcase::test_messenger_sends_with_signature_appended
Error: [] operator not supported for strings

/var/www/site/blocks/quickmail/tests/unit/traits/submits_compose_message_form.php:89
/var/www/site/blocks/quickmail/tests/unit/traits/submits_compose_message_form.php:34
/var/www/site/blocks/quickmail/tests/unit/messenger_compose_test.php:294
/var/www/site/lib/phpunit/classes/advanced_testcase.php:80
phpvfscomposer:///var/www/site/vendor/phpunit/phpunit/phpunit:97

9) block_quickmail_messenger_drafting_testcase::test_messenger_saves_draft_email
Error: [] operator not supported for strings

/var/www/site/blocks/quickmail/tests/unit/traits/submits_compose_message_form.php:89
/var/www/site/blocks/quickmail/tests/unit/traits/submits_compose_message_form.php:34
/var/www/site/blocks/quickmail/tests/unit/messenger_drafting_test.php:56
/var/www/site/lib/phpunit/classes/advanced_testcase.php:80
phpvfscomposer:///var/www/site/vendor/phpunit/phpunit/phpunit:97

10) block_quickmail_messenger_drafting_testcase::test_cannot_duplicate_a_draft_that_not_created_by_the_given_user
Error: [] operator not supported for strings

/var/www/site/blocks/quickmail/tests/unit/traits/submits_compose_message_form.php:89
/var/www/site/blocks/quickmail/tests/unit/traits/submits_compose_message_form.php:34
/var/www/site/blocks/quickmail/tests/unit/messenger_drafting_test.php:85
/var/www/site/lib/phpunit/classes/advanced_testcase.php:80
phpvfscomposer:///var/www/site/vendor/phpunit/phpunit/phpunit:97

11) block_quickmail_messenger_drafting_testcase::test_duplicates_drafts
Error: [] operator not supported for strings

/var/www/site/blocks/quickmail/tests/unit/traits/submits_compose_message_form.php:89
/var/www/site/blocks/quickmail/tests/unit/traits/submits_compose_message_form.php:34
/var/www/site/blocks/quickmail/tests/unit/messenger_drafting_test.php:112
/var/www/site/lib/phpunit/classes/advanced_testcase.php:80
phpvfscomposer:///var/www/site/vendor/phpunit/phpunit/phpunit:97

12) block_quickmail_save_draft_message_validator_testcase::test_subject_is_not_required
Error: [] operator not supported for strings

/var/www/site/blocks/quickmail/tests/unit/traits/submits_compose_message_form.php:89
/var/www/site/blocks/quickmail/tests/unit/traits/submits_compose_message_form.php:34
/var/www/site/blocks/quickmail/tests/unit/save_draft_message_validator_test.php:48
/var/www/site/lib/phpunit/classes/advanced_testcase.php:80
phpvfscomposer:///var/www/site/vendor/phpunit/phpunit/phpunit:97

13) block_quickmail_save_draft_message_validator_testcase::test_body_is_not_required
Error: [] operator not supported for strings

/var/www/site/blocks/quickmail/tests/unit/traits/submits_compose_message_form.php:89
/var/www/site/blocks/quickmail/tests/unit/traits/submits_compose_message_form.php:34
/var/www/site/blocks/quickmail/tests/unit/save_draft_message_validator_test.php:70
/var/www/site/lib/phpunit/classes/advanced_testcase.php:80
phpvfscomposer:///var/www/site/vendor/phpunit/phpunit/phpunit:97

14) block_quickmail_save_draft_message_validator_testcase::test_validate_additional_email_list_is_valid
Error: [] operator not supported for strings

/var/www/site/blocks/quickmail/tests/unit/traits/submits_compose_message_form.php:89
/var/www/site/blocks/quickmail/tests/unit/traits/submits_compose_message_form.php:34
/var/www/site/blocks/quickmail/tests/unit/save_draft_message_validator_test.php:235
/var/www/site/lib/phpunit/classes/advanced_testcase.php:80
phpvfscomposer:///var/www/site/vendor/phpunit/phpunit/phpunit:97

15) block_quickmail_save_draft_message_validator_testcase::test_validate_additional_email_list_is_invalid
Error: [] operator not supported for strings

/var/www/site/blocks/quickmail/tests/unit/traits/submits_compose_message_form.php:89
/var/www/site/blocks/quickmail/tests/unit/traits/submits_compose_message_form.php:34
/var/www/site/blocks/quickmail/tests/unit/save_draft_message_validator_test.php:257
/var/www/site/lib/phpunit/classes/advanced_testcase.php:80
phpvfscomposer:///var/www/site/vendor/phpunit/phpunit/phpunit:97

16) block_quickmail_save_draft_message_validator_testcase::test_validate_invalid_message_type_is_invalid
Error: [] operator not supported for strings

/var/www/site/blocks/quickmail/tests/unit/traits/submits_compose_message_form.php:89
/var/www/site/blocks/quickmail/tests/unit/traits/submits_compose_message_form.php:34
/var/www/site/blocks/quickmail/tests/unit/save_draft_message_validator_test.php:279
/var/www/site/lib/phpunit/classes/advanced_testcase.php:80
phpvfscomposer:///var/www/site/vendor/phpunit/phpunit/phpunit:97

17) block_quickmail_save_draft_message_validator_testcase::test_validate_unsupported_message_type_is_invalid
Error: [] operator not supported for strings

/var/www/site/blocks/quickmail/tests/unit/traits/submits_compose_message_form.php:89
/var/www/site/blocks/quickmail/tests/unit/traits/submits_compose_message_form.php:34
/var/www/site/blocks/quickmail/tests/unit/save_draft_message_validator_test.php:302
/var/www/site/lib/phpunit/classes/advanced_testcase.php:80
phpvfscomposer:///var/www/site/vendor/phpunit/phpunit/phpunit:97

18) block_quickmail_send_all_ready_messages_task_testcase::test_send_all_ready_messages_task_sends_messages
Error: [] operator not supported for strings

/var/www/site/blocks/quickmail/tests/unit/traits/submits_compose_message_form.php:89
/var/www/site/blocks/quickmail/tests/unit/traits/submits_compose_message_form.php:34
/var/www/site/blocks/quickmail/tests/unit/send_all_ready_messages_task_test.php:98
/var/www/site/blocks/quickmail/tests/unit/send_all_ready_messages_task_test.php:48
/var/www/site/lib/phpunit/classes/advanced_testcase.php:80
phpvfscomposer:///var/www/site/vendor/phpunit/phpunit/phpunit:97

19) block_quickmail_send_message_adhoc_task_testcase::test_send_message_adhoc_task_sends
Error: [] operator not supported for strings

/var/www/site/blocks/quickmail/tests/unit/traits/submits_compose_message_form.php:89
/var/www/site/blocks/quickmail/tests/unit/traits/submits_compose_message_form.php:34
/var/www/site/blocks/quickmail/tests/unit/send_message_adhoc_task_test.php:69
/var/www/site/lib/phpunit/classes/advanced_testcase.php:80
phpvfscomposer:///var/www/site/vendor/phpunit/phpunit/phpunit:97
sharpchi commented 9 months ago

The function these errors are reporting on does nothing other than return an array of empty arrays

private function get_recipients_array($recipients) {
        $includedentityids = [];
        $excludedentityids = [];

        foreach (['included', 'excluded'] as $inclusiontype) {
            if (array_key_exists($inclusiontype, $recipients)) {
                foreach (['role', 'group', 'user'] as $recipienttype) {
                    if (array_key_exists($recipienttype, $recipients[$inclusiontype])) {
                        foreach ($recipients[$inclusiontype][$recipienttype] as $id) {
                            // Segun Babalola, 2020-10-30.
                            // Not sure how this ever worked with undescores.
                            // Recipient IDs will never have been captured.
                            $containername = $inclusiontype . 'entityids';
                            $containername[] = $recipienttype . '_' . $id;
                        }
                    }
                }
            }
        }

        return [$includedentityids, $excludedentityids];
    }
sharpchi commented 9 months ago

Ah, I see from the referenced fix that it's a variable variable