X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=rt%2Ft%2Fapi%2Fcf_render_type.t;fp=rt%2Ft%2Fapi%2Fcf_render_type.t;h=ac090495ef0f3972488855d0d48adb6259c0aaad;hb=33beebf4cb42eba3e1dd868ad5e0af102de961da;hp=0000000000000000000000000000000000000000;hpb=7ac86daf67b0a95153b736d5811f9050363f6553;p=freeside.git diff --git a/rt/t/api/cf_render_type.t b/rt/t/api/cf_render_type.t new file mode 100644 index 000000000..ac090495e --- /dev/null +++ b/rt/t/api/cf_render_type.t @@ -0,0 +1,49 @@ +use strict; +use warnings; + +use RT::Test tests => 13; + +my $cf = RT::CustomField->new($RT::SystemUser); +my ( $id, $ret, $msg ); + +diag "single select"; +( $id, $msg ) = $cf->Create( + Name => 'single_select', + Type => 'Select', + MaxValues => '1', + Queue => 0, +); +ok( $id, $msg ); + +is( $cf->RenderType, 'Select box', 'default render type is Select box' ); +( $ret, $msg ) = $cf->SetRenderType('Dropdown'); +ok( $ret, 'changed to Dropdown' ); +is( $cf->RenderType, 'Dropdown', 'render type is indeed updated' ); + +( $ret, $msg ) = $cf->SetRenderType('List'); +ok( $ret, 'changed to List' ); +is( $cf->RenderType, 'List', 'render type is indeed updated' ); + +( $ret, $msg ) = $cf->SetRenderType('fakeone'); +ok( !$ret, 'failed to set an invalid render type' ); +is( $cf->RenderType, 'List', 'render type is still List' ); + +diag "multiple select"; +( $id, $msg ) = $cf->Create( + Name => 'multiple_select', + Type => 'Select', + MaxValues => '0', + Queue => 0, + RenderType => 'List', +); + +is( $cf->RenderType, 'List', 'set render type to List' ); +( $ret, $msg ) = $cf->SetRenderType('Dropdown'); +ok( !$ret, 'Dropdown is invalid for multiple select' ); + +is( $cf->RenderType, 'List', 'render type is still List' ); + +( $ret, $msg ) = $cf->SetRenderType('Select box'); +ok( $ret, 'changed to Select box' ); +is( $cf->RenderType, 'Select box', 'render type is indeed updated' ); +