#!perl
use Cassandane::Tiny;

sub test_calendar_get_isdefault_persists
    :min_version_3_1
    :CalDAVNoDefaultCalendar
    ($self)
{
    my $user = $self->default_user;
    my $jmap = $user->jmap;

    $user->calendars->create;

    my $res = $jmap->request([
      [ 'Calendar/get', { properties => [ 'id', 'isDefault' ] }, ],
    ]);

    my $cal = $res->sentence_named("Calendar/get")->arguments->{list}[0];
    $self->assert_equals(JSON::true, $cal->{isDefault});

    my $def_id = $cal->{id};
    $self->assert($def_id);

    $user->calendars->create;

    $res = $jmap->request([
      [ 'Calendar/get', { properties => [ 'id', 'isDefault' ] }, ],
    ]);

    my @def = grep { $_->{isDefault} }
        $res->sentence_named("Calendar/get")->arguments->{list}->@*;

    $self->assert_cmp_deeply(
      [ superhashof({ id => $def_id }) ],
      \@def,
    );
}
