Koha/t
Alex Buckley 3f7b2fa418 Bug 21241: (follow-up) Syspref to control fallback to SMS when no email is defined
This patch adds a new system preference (FallbackToSMSIfNoEmail)
which if enabled Koha will send suggestion notices by SMS if a borrower
has a defined SMSalertnumber and no email.

The use of the syspref prevents automatic fallback to sending suggestion notices as SMS when there's no defined email.

Test plan:
1. Chose a patron who has no email address set, but does have a
smsalertnumber set (this value is set in the Patron messaging
preferences section after the SMSSendDriver syspref is set)

2. Log into the OPAC with that user and submit a suggestion

3. In the staff client go to Acquisitions->Suggestions and tick the
suggestion and set its status to 'Accepted'

4. In the database query the message_queue and notice the
message_transport_type of the message is set to 'email' even though the
patron has no email address set.

5. Apply patches, restart memcached and plack

6. Check the 'FallbackToSMSIfNoEmail' syspref
is disabled

7. Repeat steps 2,3 and observe in the message_queue
table the message_transport_type = 'email'

    i.e. If the syspref is disabled then the message is still sent by email
    to borrowers with defined smsalertnumber and no email address

8. Enable the 'FallbackToSMSIfNoEmail' syspref
and repeat steps 2,3 and notice the
message_transport_type = 'sms'

    i.e. If the syspref is enabled then the message is sent by sms to
    borrowers with defined smsalertnumber and no email address

9. Repeat steps 2,3 with a patron with an email
address and no smsalertnumber trying with the 'FallbackToSMSIfNoEmail' syspref
enabled and disabled and notice in both cases the
message_transport_type = email.

    i.e. If a borrower has an email address defined the suggestion
    notice will always be sent via email

10. Repeat steps 2,3 with a patron with no email or smsalertnumber trying with the 'FallbackToSMSIfNoEmail' syspref enabled and disabled and notice in both cases the message_transport_type = email

    i.e. If the borrower has no smsalertnumber and no email defined then the
    suggestion notice will be sent by 'email'

11. Run t/db_dependent/Suggestions.t

Sponsored-By: Brimbank Libraries, Australia
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

Bug 21241: (follow-up) Renamed system preference

Sponsored-By: Brimbank Library, Australia
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
2019-01-28 11:42:31 +00:00
..
Acquisition
Biblio Bug 20540: Fix TransformHtmlToXml if last tag is empty 2018-04-11 16:45:19 -03:00
Budgets Bug 21817: Centralize the mock of userenv from tests 2019-01-02 20:18:29 +00:00
Circulation
db_dependent Bug 21241: (follow-up) Syspref to control fallback to SMS when no email is defined 2019-01-28 11:42:31 +00:00
edi_testfiles
etc
External Bug 20737: Use https for baker and taylor cover images 2018-05-11 11:36:23 -03:00
Koha Bug 21478: Add Koha::Exceptions::Hold 2019-01-28 11:35:50 +00:00
LangInstaller/templates Bug 22007: Generated with add_missing_filters.pl 2019-01-02 20:43:53 +00:00
lib Bug 22007: Also handle Price and HtmlTags 2019-01-02 20:42:19 +00:00
Members Bug 21015: Remove unecessary 'use Koha::Schema' statements in t/ 2018-11-08 02:18:48 +00:00
Number Bug 20625: Add tests 2018-04-24 11:29:46 -03:00
Search Bug 16660: (followup) Unit tests 2017-10-27 14:09:02 -03:00
Serials
SIP Bug 18292: Remove return 1 statements in tests 2017-08-15 12:17:42 -03:00
Test Bug 19176: Fix how t::lib::Dates::compare handle timezone 2017-10-30 14:55:18 -03:00
00-checkdatabase-version.t
00-deprecated.t
00-load.t Bug 21068: Remove NorwegianPatronDB related code 2018-08-30 13:40:29 +00:00
00-merge-conflict-markers.t Bug 19335: Fix 00-merge-conflict-markers.t when dockerised 2017-09-19 09:00:49 -03:00
00-testcritic.t
00-valid-xml.t
Auth_with_shibboleth.t Bug 18507: Shibboleth auto-provisioning - Sync 2018-11-08 20:43:32 +00:00
AuthoritiesMarc_MARC21.t
AuthoritiesMarc_UNIMARC.t
AuthUtils.t Bug 18298: Add server-side checks and refactor stuffs 2017-10-16 09:44:32 -03:00
Barcodes_annual.t
Barcodes_EAN13.t
Barcodes_hbyymmincr.t
Barcodes_incremental.t
Biblio.t Bug 18712: (QA follow-up) Add count of tests 2017-11-26 13:00:03 -03:00
Biblio2.t
Bookseller.t
Boolean.t Bug 18292: Remove return 1 statements in tests 2017-08-15 12:17:42 -03:00
Budgets.t
Cache.t
Calendar.t Bug 19204: Add tests for new days_mode parameter 2018-04-25 10:52:21 -03:00
Charset.t Bug 18292: Remove return 1 statements in tests 2017-08-15 12:17:42 -03:00
Circulation_barcodedecode.t Bug 21817: Centralize the mock of userenv from tests 2019-01-02 20:18:29 +00:00
ClassSortRoutine.t
ClassSortRoutine_Dewey.t
ClassSortRoutine_Generic.t
ClassSortRoutine_LCC.t
ClassSource.t
Context.t
Contract.t
Creators.t
DateUtils.t Bug 18330: Add RFC3339 to Koha::DateUtils 2017-12-14 16:58:22 -03:00
Debug.t
dummy.t
Edifact.t
EdiInvoice.t
Ediorder.t Bug 20972: Add a testcase for bug 20972 2018-06-22 20:12:16 +00:00
Ediordrsp.t
Form_MessagingPreferences.t
HtmlTags.t
Images.t Bug 18292: Remove return 1 statements in tests 2017-08-15 12:17:42 -03:00
ImportBatch.t
Installer_PerlDependencies.t
Installer_PerlModules.t
Installer_pm.t
ItemCirculationAlertPreference.t
Koha.t Bug 18292: Remove return 1 statements in tests 2017-08-15 12:17:42 -03:00
Koha_Email.t
Koha_MetadataRecord.t Bug 18292: Remove return 1 statements in tests 2017-08-15 12:17:42 -03:00
Koha_Template_Plugin_Cache.t
Koha_Template_Plugin_Koha.t Bug 18292: Remove return 1 statements in tests 2017-08-15 12:17:42 -03:00
Koha_Util_FrameworkPlugin.t
Koha_Util_MARC.t
Labels.t Bug 15836: Add the ability to defined custom methods to split call number in labels 2018-11-13 15:18:22 +00:00
Labels_split_ccn.t Bug 15836: Fix failing tests 2018-11-13 18:53:10 +00:00
Labels_split_ddcn.t Bug 15836: Add the ability to defined custom methods to split call number in labels 2018-11-13 15:18:22 +00:00
Labels_split_lccn.t Bug 15836: Add the ability to defined custom methods to split call number in labels 2018-11-13 15:18:22 +00:00
Labels_split_Regex.t Bug 15836: Add the ability to defined custom methods to split call number in labels 2018-11-13 15:18:22 +00:00
LangInstaller.t Bug 21895: Fix translation for package install 2018-11-29 17:57:54 +00:00
Languages.t
Letters.t Bug 18292: Remove return 1 statements in tests 2017-08-15 12:17:42 -03:00
Log.t Bug 22003: Remove unused subroutines displaylog and GetLogStatus from C4::Log 2019-01-11 12:20:49 +00:00
Logger.t Bug 18292: Remove return 1 statements in tests 2017-08-15 12:17:42 -03:00
Makefile.t Bug 20267: .gitignore do not need to be mapped in Makefile 2018-03-26 19:35:07 -03:00
Matcher.t Bug 18712: Fix t/Matcher.t if DB is empty 2017-11-26 13:00:03 -03:00
Members_Attributes.t
Members_AttributeTypes.t
Members_Messaging.t
OpenLibrarySearch.t
Output.t Bug 20422: Add unit test to Output.t for parametrized_url 2018-03-26 17:31:13 -03:00
Output_JSONStream.t
Patron.t Bug 18292: Remove return 1 statements in tests 2017-08-15 12:17:42 -03:00
Patroncards.t
Patroncards_Batch.t
Patroncards_Layout.t
Patroncards_Lib.t
Patroncards_Patroncard.t
Patroncards_Profile.t
Patroncards_Template.t
perlcriticrc
Prices.t Bug 20466: Fix fixture syntax in t/Prices.t 2018-03-23 13:24:14 -03:00
Print.t
QueryParser.t
RecordProcessor.t
Ris.t
Scheduler.t
Scrubber.t
Search.t Bug 18292: Remove return 1 statements in tests 2017-08-15 12:17:42 -03:00
Search_PazPar2.t
SimpleMARC.t
SMS.t Bug 18292: Remove return 1 statements in tests 2017-08-15 12:17:42 -03:00
SocialData.t Bug 18292: Remove return 1 statements in tests 2017-08-15 12:17:42 -03:00
Stats.t
SuggestionEngine.t
SuggestionEngine_AuthorityFile.t Bug 9857: Fix failing tests 2017-09-01 16:22:02 -03:00
template_filters.t Bug 22007: Also handle Price and HtmlTags 2019-01-02 20:42:19 +00:00
timezones.t Bug 18674: TZ error handling 2018-04-11 16:45:08 -03:00
TmplToken.t
Token.t
XSLT.t Bug 18292: Remove return 1 statements in tests 2017-08-15 12:17:42 -03:00