123456789101112131415161718192021222324252627282930 |
- use strict;
- use warnings;
- use Cwd qw{abs_path};
- use File::Basename qw{dirname};
- use lib abs_path( dirname(__FILE__) . "/../lib" );
- use Test::More;
- use Test::Deep;
- use Cpanel::iContact::Provider::Schema::Telegram ();
- plan tests => 2;
- subtest "Settings getter method performs as expected" => sub {
- my $model = [ 'CONTACTTELEGRAM', 'TELEGRAMBOTTOKEN' ];
- my $settings = Cpanel::iContact::Provider::Schema::Telegram::get_settings();
- is_deeply( [ sort keys( %{$settings} ) ], $model, "Settings returned look OK so far" );
- foreach my $key (@$model) {
- is(
- $settings->{$key}{'checkval'}->('123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11'),
- '123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11', "Valid values passed to checkval subroutine of '$key' assumed GreatSuccess"
- ) if ref $settings->{$key}{'checkval'} eq 'CODE';
- }
- is( $settings->{'CONTACTTELEGRAM'}{'checkval'}->(' '), '', "Invalid values passed to checkval subroutine of 'CONTACTTELEGRAM' silently got smashed" );
- is( eval { $settings->{'TELEGRAMBOTTOKEN'}{'checkval'}->(' NeenerNeenerNotAToken') }, undef, "Invalid values passed to checkval subroutine of 'CONTACTTELEGRAM' engaged Maximum NO" );
- };
- my $config_model = { 'default_level' => 'All', 'display_name' => 'Telegram', 'icon' => ignore() };
- cmp_deeply( Cpanel::iContact::Provider::Schema::Telegram::get_config(), $config_model, "Config getter method return looks OK" );
|