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 )