Apple-AppStoreConnect

 view release on metacpan or  search on metacpan

t/simple.t  view on Meta::CPAN

            item 'Authorization';
            item match(qr/^Bearer ey[^.]+\.ey[^.]+\.[^.]+/);
            end
        },
        'get call correct'
    );
};

subtest 'get_app_store_versions' => sub {
    my $ua = TestUA->new(
        '{"data":[{"type":"appStoreVersions","id":"v1","attributes":{"versionString":"1.0","platform":"IOS"}}],"links":{"next":"'.$base.'apps/1/appStoreVersions?cursor=abc"}}',
        '{"data":[{"type":"appStoreVersions","id":"v2","attributes":{"versionString":"1.1","platform":"IOS"}}]}',
        '{"data":[{"type":"appStoreVersionLocalizations","id":"l1","attributes":{"locale":"en-US","whatsNew":"One"}},{"type":"appStoreVersionLocalizations","id":"l2","attributes":{"locale":"fr-FR","whatsNew":"Un"}}]}',
        '{"data":[]}'
    );
    my $asc3 = Apple::AppStoreConnect->new(%params, key => $key, ua => $ua);

    my $out = $asc3->get_app_store_versions(
        id            => 1,
        platform      => 'IOS',
        localizations => 1,

t/simple.t  view on Meta::CPAN

        'Versions and localizations returned'
    );

    like(
        $ua->{calls}->[0]->[0],
        qr#^\Q${base}apps/1/appStoreVersions\E\?(limit=200&filter\[platform\]=IOS|filter\[platform\]=IOS&limit=200)$#,
        'Version request uses platform filter and limit'
    );
    is(
        $ua->{calls}->[1]->[0],
        "${base}apps/1/appStoreVersions?cursor=abc",
        'Version request follows next link'
    );
    is(
        $ua->{calls}->[2]->[0],
        "${base}appStoreVersions/v1/appStoreVersionLocalizations?limit=200",
        'Localizations request fetches all locales'
    );
    is(
        $ua->{calls}->[3]->[0],
        "${base}appStoreVersions/v2/appStoreVersionLocalizations?limit=200",



( run in 1.566 second using v1.01-cache-2.11-cpan-6aa56a78535 )