Bb-Collaborate-Ultra
view release on metacpan or search on metacpan
t/session.t view on Meta::CPAN
use warnings; use strict;
use Test::More tests => 21;
use Test::Fatal;
use Date::Parse;
use lib '.';
use t::Ultra;
SKIP: {
my %t = t::Ultra->test_connection;
my $connection = $t{connection};
skip $t{skip} || 'skipping live tests', 21
unless $connection;
$connection->connect;
my $start = time() + 60;
my $end = $start + 900;
use Bb::Collaborate::Ultra::Session;
my $session;
is exception {
$session = Bb::Collaborate::Ultra::Session->post($connection, {
name => 'Test Session',
startTime => $start,
endTime => $end,
},
);
}, undef, "session post - lives";
is $session->name, 'Test Session', 'session name';
is $session->startTime, $start, 'session start';
is $session->endTime, $end, 'session end';
$session->name('Test Session - Updated');
$session->endTime( $session->endTime + 60);
my @changed = $session->changed;
is_deeply \@changed, ['endTime', 'name'], 'changed fields';
my $updates = $session->_pending_updates;
is_deeply $updates, { 'id' => $session->id, name => 'Test Session - Updated', endTime => $session->endTime, }, 'updateable data';
is exception { $session->patch }, undef, 'patch updates - lives';
$updates = $session->_pending_updates;
delete $updates->{active}; # ignore this
is_deeply $updates, { 'id' => $session->id, }, 'updates are flushed';
my @enrollments = $session->get_enrollments;
is scalar @enrollments, 0, 'no session enrolments yet';
require Bb::Collaborate::Ultra::User;
my $launch_user = Bb::Collaborate::Ultra::User->new({
extId => 'testLaunchUser',
displayName => 'David Warring',
email => 'david.warring@gmail.com',
firstName => 'David',
lastName => 'Warring',
});
require Bb::Collaborate::Ultra::LaunchContext;
my $launch_context = Bb::Collaborate::Ultra::LaunchContext->new({ launchingRole => 'moderator',
editingPermission => 'writer',
user => $launch_user,
});
my $url;
( run in 0.984 second using v1.01-cache-2.11-cpan-54e63673c56 )