63 lines
1.7 KiB
Perl
63 lines
1.7 KiB
Perl
# t/subscription-pending.t
|
|
#
|
|
# Test LJ::Subscription::Pending
|
|
#
|
|
# This code was forked from the LiveJournal project owned and operated
|
|
# by Live Journal, Inc. The code has been modified and expanded by
|
|
# Dreamwidth Studios, LLC. These files were originally licensed under
|
|
# the terms of the license supplied by Live Journal, Inc, which can
|
|
# currently be found at:
|
|
#
|
|
# http://code.livejournal.org/trac/livejournal/browser/trunk/LICENSE-LiveJournal.txt
|
|
#
|
|
# In accordance with the original license, this code and all its
|
|
# modifications are provided under the GNU General Public License.
|
|
# A copy of that license can be found in the LICENSE file included as
|
|
# part of this distribution.
|
|
|
|
use strict;
|
|
use warnings;
|
|
|
|
use Test::More tests => 9;
|
|
|
|
BEGIN { $LJ::_T_CONFIG = 1; require "$ENV{LJHOME}/cgi-bin/ljlib.pl"; }
|
|
use LJ::Subscription::Pending;
|
|
use LJ::Event;
|
|
use LJ::Test qw(memcache_stress temp_user);
|
|
|
|
my $u = temp_user();
|
|
ok( $u, "Got a \$u" );
|
|
my $u2 = temp_user();
|
|
|
|
my %args = (
|
|
journal => $u2,
|
|
event => "JournalNewEntry",
|
|
method => "Inbox",
|
|
arg1 => 42,
|
|
arg2 => 69,
|
|
);
|
|
|
|
my $ps = LJ::Subscription::Pending->new( $u, %args );
|
|
|
|
ok( $ps, "Got pending subscription" );
|
|
|
|
my @subs = $u->find_subscriptions(%args);
|
|
ok( !@subs, "Didn't subscribe" );
|
|
|
|
my $frozen = $ps->freeze;
|
|
like( $frozen, qr/\d+-\d+/, "Froze" );
|
|
|
|
my $thawed = LJ::Subscription::Pending->thaw( $frozen, $u );
|
|
ok( $thawed, "Thawed" );
|
|
|
|
is_deeply( $ps, $thawed, "Got same subscription back" );
|
|
|
|
my $subscr = $thawed->commit($u);
|
|
ok( $subscr, "committed" );
|
|
|
|
@subs = $u->find_subscriptions(%args);
|
|
ok( ( scalar @subs ) == 1, "Subscribed ok" );
|
|
|
|
is( $subs[0]->arg1, $subscr->arg1, "OK subscription" );
|
|
|
|
$subscr->delete;
|