CMS-Drupal-Modules-MembershipEntity

 view release on metacpan or  search on metacpan

t/50_term_object_params.t  view on Meta::CPAN

#! perl
use strict;
use warnings;

BEGIN {
  ## Make sure we don't connect to our real DB if we
  ## have given the credentials for it
  $ENV{'DRUPAL_IGNORE_TEST_CREDS'} = 1;
}

use Test::More tests => 2;
use Test::Group;
use Test::Exception;

use CMS::Drupal;
use CMS::Drupal::Modules::MembershipEntity;
use CMS::Drupal::Modules::MembershipEntity::Test;

my $drupal = CMS::Drupal->new;
my $dbh    = build_test_db( $drupal );
my $ME     = CMS::Drupal::Modules::MembershipEntity->new( dbh => $dbh );

# test the object, parameters

subtest '::Membership objects contain ::Term objects', sub {
  plan tests => 3;
  for ([3694], [3694, 2966], []) {
    my $array = $_;
    my $hashref = $ME->fetch_memberships( @{ $array } );
    test 'isa valid Term object for '. @$array .' Memberships' , sub {
      if (@$array == 1) {
        # we don't have a hashref but an object
        my $mem = $hashref;
        foreach my $term ( values %{ $mem->{'terms'} } ) {
          isa_ok( $term, 'CMS::Drupal::Modules::MembershipEntity::Term',
                  'tid => '. $term->{'tid'} );
        }
      } else {
        foreach my $mem ( values %{ $hashref } ) {
          foreach my $term ( values %{ $mem->{'terms'} } ) {
            isa_ok( $term, 'CMS::Drupal::Modules::MembershipEntity::Term',
              'tid => '. $term->{'tid'} );
          }
        }
      } 
    };
  }
};

subtest 'Manually create a ::Term object', sub {
  plan tests => 10;
 
  my %params = (
    'tid'            => 666,
    'mid'            => 999,
    'status'         => 1,
    'term'           => '1 year',
    'modifiers'      => 'a:0:{}',
    'start'          => time - (180 * 24 * 3600), # functions are relative to "now"
    'end'            => time + (180 * 24 * 3600), # so test data must be, too.
    'array_position' => 1
  );  
  
  dies_ok { my $term = CMS::Drupal::Modules::MembershipEntity::Term->new }
      'Correctly fail to create an object with no parameters provided.';

  foreach my $param (keys %params) {



( run in 1.290 second using v1.01-cache-2.11-cpan-39bf76dae61 )