Add tests for getUnreadMessagesForUser

This commit is contained in:
Colin Kuskie 2009-08-09 23:35:20 +00:00
parent d17399df41
commit 5675c1a3a3

View file

@ -17,7 +17,7 @@ use WebGUI::Session;
use WebGUI::Inbox;
use WebGUI::User;
use Test::More tests => 13; # increment this value for each test you create
use Test::More tests => 15; # increment this value for each test you create
my $session = WebGUI::Test->session;
@ -88,6 +88,7 @@ $inbox->addMessage({
message => "First message",
userId => 3,
sentBy => $senders[0]->userId,
status => 'unread',
},{
no_email => 1,
});
@ -96,6 +97,7 @@ $inbox->addMessage({
message => "Second message",
userId => 3,
sentBy => $senders[1]->userId,
status => 'unread',
},{
no_email => 1,
});
@ -104,6 +106,7 @@ $inbox->addMessage({
message => "Third message",
userId => 3,
sentBy => $senders[2]->userId,
status => 'unread',
},{
no_email => 1,
});
@ -112,6 +115,7 @@ $inbox->addMessage({
message => "Fourth message",
userId => 3,
sentBy => $senders[2]->userId,
status => 'unread',
},{
no_email => 1,
});
@ -121,6 +125,12 @@ is(scalar @{ $inbox->getMessagesForUser($admin, '', '', '', 'sentBy='.$session->
is(scalar @{ $inbox->getMessagesForUser($admin, '', '', '', 'sentBy='.$session->db->quote($senders[1]->userId)) }, 1, '1 message by sender[1]');
is(scalar @{ $inbox->getMessagesForUser($admin, '', '', '', 'sentBy='.$session->db->quote($senders[2]->userId)) }, 2, '2 messages by sender[2]');
is($inbox->getUnreadMessageCount($admin->userId), 4, 'getUnreadMessageCount');
my $messages = $inbox->getMessagesForUser($admin);
$messages->[0]->setRead($admin->userId);
diag $messages->[0]->getStatus;
diag $messages->[0]->isRead;
is($inbox->getUnreadMessageCount($admin->userId), 3, '... really tracks unread messages');
END {
$session->db->write('delete from inbox where messageId = ?', [$message->getId]);