Net-Nostr

 view release on metacpan or  search on metacpan

t/54-LiveActivity.t  view on Meta::CPAN


###############################################################################
# POD example: from_event
###############################################################################

subtest 'POD: from_event' => sub {
    my $event = Net::Nostr::LiveActivity->live_event(
        pubkey     => $PK,
        identifier => 'test',
        title      => 'Test',
    );
    my $parsed = Net::Nostr::LiveActivity->from_event($event);
    is($parsed->identifier, 'test');
};

###############################################################################
# POD example: validate
###############################################################################

subtest 'POD: validate' => sub {
    my $event = Net::Nostr::LiveActivity->live_event(
        pubkey     => $PK,
        identifier => 'test',
    );
    ok(Net::Nostr::LiveActivity->validate($event), 'validate returns true');
};

###############################################################################
# POD example: new
###############################################################################

subtest 'POD: new' => sub {
    my $la = Net::Nostr::LiveActivity->new(
        identifier => 'my-stream',
        status     => 'live',
    );
    is($la->identifier, 'my-stream');
    is($la->status, 'live');
};

###############################################################################
# Constructor: unknown args rejected
###############################################################################

subtest 'constructor: unknown args rejected' => sub {
    like(
        dies { Net::Nostr::LiveActivity->new(bogus => 1) },
        qr/unknown/i,
        'unknown arg rejected'
    );
};

###############################################################################
# Public methods available
###############################################################################

subtest 'public methods available' => sub {
    can_ok('Net::Nostr::LiveActivity',
        qw(new live_event chat_message meeting_space meeting_room
           room_presence from_event validate
           identifier title summary image streaming recording
           starts ends status current_participants total_participants
           hashtags participants relays pinned
           activity relay_hint reply_to
           room service endpoint space_ref hand));
};

done_testing;



( run in 0.428 second using v1.01-cache-2.11-cpan-140bd7fdf52 )