Bb-Collaborate-V3

 view release on metacpan or  search on metacpan

t/soap-session.t  view on Meta::CPAN

#!perl
use warnings; use strict;
use Test::More tests => 37;
use Test::Fatal;

use version;
use Try::Tiny;

use lib '.';
use t::Bb::Collaborate::V3;

use Bb::Collaborate::V3::Session;
use Elive::Util;

our $t = Test::More->builder;
our $class = 'Bb::Collaborate::V3::Session';

our $connection;

SKIP: {

    my $skippable = 37;

    my %result = t::Bb::Collaborate::V3->test_connection();
    my $auth = $result{auth};

   skip ($result{reason} || 'skipping live tests', $skippable)
	unless $auth && @$auth;

    try {require Bb::Collaborate::V3::Connection} catch {die $_};

    my $connection_class = $result{class};
    $connection = $connection_class->connect(@$auth);
    Bb::Collaborate::V3->connection($connection);

    my $session_start = Elive::Util::next_quarter_hour();
    my $session_end = Elive::Util::next_quarter_hour( $session_start );

    my %session_data = (
	sessionName => 'test session, generated by t/soap-session.t',
	creatorId => $connection->user,
	startTime =>  $session_start . '000',
	endTime => $session_end . '000',
	openChair => 0,
	mustBeSupervised => 0,
	permissionsOn => 1,
	chairList => [qw(alice bob)],
	groupingList => [qw(mechanics sewing)],
    );

    my $session = $class->insert(\%session_data);

    isa_ok($session, $class, 'session');
    ok(my $session_id = $session->sessionId, 'Insert returned session id');

    note "session-id: $session_id";

    foreach (keys %session_data) {
	#
	# returned record doesn't contain password
	is(uc Elive::Util::string($session->$_), uc Elive::Util::string($session_data{$_}), "session $_ as expected");
    }

    my %update_data = (
	chairNotes => 'test moderator notes. Here are some entities: & > <',
	nonChairNotes => 'test user notes; some more entities: &gt;',
	raiseHandOnEnter => 1,



( run in 2.015 seconds using v1.01-cache-2.11-cpan-5a3173703d6 )