#------------------------------------------------------------------- # WebGUI is Copyright 2001-2008 Plain Black Corporation. #------------------------------------------------------------------- # Please read the legal notices (docs/legal.txt) and the license # (docs/license.txt) that came with this distribution before using # this software. #------------------------------------------------------------------- # http://www.plainblack.com info@plainblack.com #------------------------------------------------------------------- use FindBin; use strict; use lib "$FindBin::Bin/lib"; use WebGUI::Test; use WebGUI::Session; use WebGUI::Inbox; use WebGUI::User; use Test::More tests => 8; # increment this value for each test you create my $session = WebGUI::Test->session; # get a user so we can test retrieving messages for a specific user my $user = WebGUI::User->new($session, 3); # Begin tests by getting an inbox object my $inbox = WebGUI::Inbox->new($session); isa_ok($inbox, 'WebGUI::Inbox'); ok(defined ($inbox), 'new("new") -- object reference is defined'); ######################## # create a new message # ######################## my $message_body = 'Test message'; my $new_message = { message => $message_body, groupId => 3, userId => 1, }; my $message = $inbox->addMessage($new_message); isa_ok($message, 'WebGUI::Inbox::Message'); ok(defined($message), 'addMessage returned a response'); ok($message->{_properties}{message} eq $message_body, 'Message body set'); my $messageId = $message->getId; ok($messageId, 'messageId retrieved'); #################################### # get a message based on messageId # #################################### $message = $inbox->getMessage($messageId); ok($message->getId == $messageId, 'getMessage returns message object'); ######################################################### # get a list (arrayref) of messages for a specific user # ######################################################### my $messageList = $inbox->getMessagesForUser($user); my $message_cnt = scalar(@{$messageList}); ok($message_cnt > 0, 'Messages returned for user'); END { $session->db->write('delete from inbox where messageId = ?', [$message->getId]); }