Cpanel-iContact-Provider-Schema-Slack.t 1.2 KB

1234567891011121314151617181920212223242526272829
  1. use strict;
  2. use warnings;
  3. use Cwd qw{abs_path};
  4. use File::Basename qw{dirname};
  5. use lib abs_path( dirname(__FILE__) . "/../lib" );
  6. use Test::More;
  7. use Test::Deep;
  8. use Cpanel::iContact::Provider::Schema::Slack ();
  9. plan tests => 2;
  10. subtest "Settings getter method performs as expected" => sub {
  11. my $model = [ 'CONTACTSLACK', 'SLACKCOMPACT' ];
  12. my $settings = Cpanel::iContact::Provider::Schema::Slack::get_settings();
  13. is_deeply( [ sort keys( %{$settings} ) ], $model, "Settings returned look OK so far" );
  14. foreach my $key (@$model) {
  15. is(
  16. $settings->{$key}{'checkval'}->('https://foo.bar.baz'),
  17. 'https://foo.bar.baz', "Valid values passed to checkval subroutine of '$key' assumed GreatSuccess"
  18. ) if ref $settings->{$key}{'checkval'} eq 'CODE';
  19. }
  20. is( $settings->{'CONTACTSLACK'}{'checkval'}->(' '), '', "Invalid values passed to checkval subroutine of 'CONTACTSLACK' engaged Maximum NO" );
  21. };
  22. my $config_model = { 'default_level' => 'All', 'display_name' => 'Slack', 'icon' => ignore() };
  23. cmp_deeply( Cpanel::iContact::Provider::Schema::Slack::get_config(), $config_model, "Config getter method return looks OK" );