[Rt-commit] rt branch, 4.0/template-tests, created. rt-4.0.6-254-g446403b

Ruslan Zakirov ruz at bestpractical.com
Wed Jul 18 10:38:44 EDT 2012


The branch, 4.0/template-tests has been created
        at  446403b8a4f62e7e6634f8170ffe9e04b4e20ccb (commit)

- Log -----------------------------------------------------------------
commit 9d716db635a9b7866b3cf16a4409001ca4eac9a1
Author: Ruslan Zakirov <ruz at bestpractical.com>
Date:   Wed Jul 18 18:08:14 2012 +0400

    refactor old test file and test more

diff --git a/t/api/template-insert.t b/t/api/template-insert.t
index 1bf5fc3..a5de696 100644
--- a/t/api/template-insert.t
+++ b/t/api/template-insert.t
@@ -5,22 +5,32 @@ use strict;
 
 
 use RT;
-use RT::Test tests => 7;
-
-
-
-# This tiny little test script triggers an interaction bug between DBD::Oracle 1.16, SB 1.15 and RT 3.4
-
-use_ok('RT::Template');
-my $template = RT::Template->new(RT->SystemUser);
-
-isa_ok($template, 'RT::Template');
-my ($val,$msg) = $template->Create(Queue => 1,
-                  Name => 'InsertTest',
-                  Content => 'This is template content');
-ok($val,$msg);
-is($template->Name, 'InsertTest');
-is($template->Content, 'This is template content', "We created the object right");
-($val, $msg) = $template->SetContent( 'This is new template content');
-ok($val,$msg);
-is($template->Content, 'This is new template content', "We managed to _Set_ the content");
+use RT::Test tests => 10;
+
+my $queue = RT::Test->load_or_create_queue( Name => 'Templates' );
+ok $queue && $queue->id, "loaded or created a queue";
+
+{
+    my $template = RT::Template->new( RT->SystemUser );
+    isa_ok($template, 'RT::Template');
+    my ($val,$msg) = $template->Create(
+        Queue => $queue->id,
+        Name => 'InsertTest',
+        Content => 'This is template content'
+    );
+    ok $val, "created a template" or diag "error: $msg";
+    ok my $id = $template->id, "id is defined";
+    is $template->Name, 'InsertTest';
+    is $template->Content, 'This is template content', "We created the object right";
+
+    ($val, $msg) = $template->SetContent( 'This is new template content');
+    ok $val, "changed content" or diag "error: $msg";
+
+    is $template->Content, 'This is new template content', "We managed to _Set_ the content";
+
+    ($val, $msg) = $template->Delete;
+    ok $val, "deleted template";
+
+    $template->Load($id);
+    ok !$template->id, "can not load template after deletion";
+}

commit c37332955f8d1cafc410669bbacde85544869785
Author: Ruslan Zakirov <ruz at bestpractical.com>
Date:   Wed Jul 18 18:13:01 2012 +0400

    replace template.t with template-insert.t
    
    two very simple and similar test files, template-insert.t
    is just better and covers more. There is nothing to keep
    in template.t

diff --git a/t/api/template-insert.t b/t/api/template-insert.t
deleted file mode 100644
index a5de696..0000000
--- a/t/api/template-insert.t
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/usr/bin/perl
-
-use warnings;
-use strict;
-
-
-use RT;
-use RT::Test tests => 10;
-
-my $queue = RT::Test->load_or_create_queue( Name => 'Templates' );
-ok $queue && $queue->id, "loaded or created a queue";
-
-{
-    my $template = RT::Template->new( RT->SystemUser );
-    isa_ok($template, 'RT::Template');
-    my ($val,$msg) = $template->Create(
-        Queue => $queue->id,
-        Name => 'InsertTest',
-        Content => 'This is template content'
-    );
-    ok $val, "created a template" or diag "error: $msg";
-    ok my $id = $template->id, "id is defined";
-    is $template->Name, 'InsertTest';
-    is $template->Content, 'This is template content', "We created the object right";
-
-    ($val, $msg) = $template->SetContent( 'This is new template content');
-    ok $val, "changed content" or diag "error: $msg";
-
-    is $template->Content, 'This is new template content', "We managed to _Set_ the content";
-
-    ($val, $msg) = $template->Delete;
-    ok $val, "deleted template";
-
-    $template->Load($id);
-    ok !$template->id, "can not load template after deletion";
-}
diff --git a/t/api/template.t b/t/api/template.t
index 2fadede..331d9f9 100644
--- a/t/api/template.t
+++ b/t/api/template.t
@@ -1,25 +1,34 @@
 
-use strict;
 use warnings;
-use RT;
-use RT::Test tests => 2;
-
-
-{
-
-ok(require RT::Template);
+use strict;
 
+use RT;
+use RT::Test tests => 10;
 
-}
+my $queue = RT::Test->load_or_create_queue( Name => 'Templates' );
+ok $queue && $queue->id, "loaded or created a queue";
 
 {
-
-my $t = RT::Template->new(RT->SystemUser);
-$t->Create(Name => "Foo", Queue => 1);
-my $t2 = RT::Template->new(RT->Nobody);
-$t2->Load($t->Id);
-ok($t2->QueueObj->id, "Got the template's queue objet");
-
-
+    my $template = RT::Template->new( RT->SystemUser );
+    isa_ok($template, 'RT::Template');
+    my ($val,$msg) = $template->Create(
+        Queue => $queue->id,
+        Name => 'InsertTest',
+        Content => 'This is template content'
+    );
+    ok $val, "created a template" or diag "error: $msg";
+    ok my $id = $template->id, "id is defined";
+    is $template->Name, 'InsertTest';
+    is $template->Content, 'This is template content', "We created the object right";
+
+    ($val, $msg) = $template->SetContent( 'This is new template content');
+    ok $val, "changed content" or diag "error: $msg";
+
+    is $template->Content, 'This is new template content', "We managed to _Set_ the content";
+
+    ($val, $msg) = $template->Delete;
+    ok $val, "deleted template";
+
+    $template->Load($id);
+    ok !$template->id, "can not load template after deletion";
 }
-

commit 196910ff7b0e1ae89d27903834752c6ad3a3f22c
Author: Ruslan Zakirov <ruz at bestpractical.com>
Date:   Wed Jul 18 18:27:23 2012 +0400

    minor test refactoring before we change it futher

diff --git a/t/api/template-simple.t b/t/api/template-simple.t
index bbdebb3..e112853 100644
--- a/t/api/template-simple.t
+++ b/t/api/template-simple.t
@@ -173,31 +173,33 @@ SimpleTemplateTest(
 is($ticket->Status, 'new', "simple templates can't call ->SetStatus");
 
 # Make sure changing the template's type works
-my $template = RT::Template->new(RT->SystemUser);
-$template->Create(
-    Name    => "type chameleon",
-    Type    => "Perl",
-    Content => "\ntest { 10 * 7 }",
-);
-ok($id = $template->id, "Created template");
-$template->Parse;
-is($template->MIMEObj->stringify_body, "test 70", "Perl output");
+{
+    my $template = RT::Template->new(RT->SystemUser);
+    $template->Create(
+        Name    => "type chameleon",
+        Type    => "Perl",
+        Content => "\ntest { 10 * 7 }",
+    );
+    ok($id = $template->id, "Created template");
+    $template->Parse;
+    is($template->MIMEObj->stringify_body, "test 70", "Perl output");
 
-$template = RT::Template->new(RT->SystemUser);
-$template->Load($id);
-is($template->Name, "type chameleon");
+    $template = RT::Template->new(RT->SystemUser);
+    $template->Load($id);
+    is($template->Name, "type chameleon");
 
-$template->SetType('Simple');
-$template->Parse;
-is($template->MIMEObj->stringify_body, "test { 10 * 7 }", "Simple output");
+    $template->SetType('Simple');
+    $template->Parse;
+    is($template->MIMEObj->stringify_body, "test { 10 * 7 }", "Simple output");
 
-$template = RT::Template->new(RT->SystemUser);
-$template->Load($id);
-is($template->Name, "type chameleon");
+    $template = RT::Template->new(RT->SystemUser);
+    $template->Load($id);
+    is($template->Name, "type chameleon");
 
-$template->SetType('Perl');
-$template->Parse;
-is($template->MIMEObj->stringify_body, "test 70", "Perl output");
+    $template->SetType('Perl');
+    $template->Parse;
+    is($template->MIMEObj->stringify_body, "test 70", "Perl output");
+}
 
 undef $ticket;
 
@@ -253,8 +255,6 @@ sub TemplateTest {
     my %args = @_;
 
     for my $type ('Perl', 'Simple') {
-        next if $args{"Skip$type"};
-
         IndividualTemplateTest(
             %args,
             Type   => $type,
@@ -265,11 +265,11 @@ sub TemplateTest {
 
 sub SimpleTemplateTest {
     local $Test::Builder::Level = $Test::Builder::Level + 1;
-    my %args = @_;
+    IndividualTemplateTest( @_, Type => 'Simple' );
+}
 
-    IndividualTemplateTest(
-        %args,
-        Type => 'Simple',
-    );
+sub PerlTemplateTest {
+    local $Test::Builder::Level = $Test::Builder::Level + 1;
+    IndividualTemplateTest( @_, Type => 'Perl' );
 }
 

commit dfd4d0947b88ad02cda7e71af82f3360cfb2934d
Author: Ruslan Zakirov <ruz at bestpractical.com>
Date:   Wed Jul 18 18:34:41 2012 +0400

    allow to pass arguments when testing templates

diff --git a/t/api/template-simple.t b/t/api/template-simple.t
index e112853..4991111 100644
--- a/t/api/template-simple.t
+++ b/t/api/template-simple.t
@@ -1,7 +1,7 @@
 use strict;
 use warnings;
 use RT;
-use RT::Test tests => 231;
+use RT::Test tests => 245;
 use Test::Warn;
 
 my $queue = RT::Queue->new(RT->SystemUser);
@@ -172,6 +172,19 @@ SimpleTemplateTest(
 );
 is($ticket->Status, 'new', "simple templates can't call ->SetStatus");
 
+note "test arguments passing";
+{
+    PerlTemplateTest(
+        Content => "\ntest { \$Nonexistent }",
+        Output  => "test ",
+    );
+    PerlTemplateTest(
+        Content   => "\ntest { \$Nonexistent }",
+        Arguments => { Nonexistent => 'foo' },
+        Output    => "test foo",
+    );
+}
+
 # Make sure changing the template's type works
 {
     my $template = RT::Template->new(RT->SystemUser);
@@ -238,8 +251,10 @@ sub IndividualTemplateTest {
     }
 
     ($ok, $msg) = $t->Parse(
-        TicketObj      => $ticket,
-        TransactionObj => $txn,
+        $args{'Arguments'}
+            ? ( %{ $args{'Arguments'} } )
+            : (TicketObj => $ticket, TransactionObj => $txn )
+        ,
     );
     if (defined $args{Output}) {
         ok($ok, $msg);

commit 446403b8a4f62e7e6634f8170ffe9e04b4e20ccb
Author: Ruslan Zakirov <ruz at bestpractical.com>
Date:   Wed Jul 18 18:35:54 2012 +0400

    rename template-simple.t to template-parsing.t
    
    Test file has help functions to test Perl templates
    as well as Simple templates. Actually it does test Perl
    templates.

diff --git a/t/api/template-simple.t b/t/api/template-parsing.t
similarity index 100%
rename from t/api/template-simple.t
rename to t/api/template-parsing.t

-----------------------------------------------------------------------


More information about the Rt-commit mailing list