play: an edit Play will not send for review (400 'set changesNotSentForReview to true', a game 1.0.1 (5) after a rejection) is validated and committed again on the same edit with changesNotSentForReview=true; dry runs validate that way and say so; prints the Publishing overview link (owner's button), records it in .storebound/ for play status; --not-sent-for-review on release / upload / rollout / listing / images and MCP / desktop; pitfall 72
This commit is contained in:
parent
dcca4e86e4
commit
220e9bb072
19 changed files with 305 additions and 41 deletions
|
|
@ -356,6 +356,9 @@ export class FakePlay {
|
|||
dataSafety: string[] = [];
|
||||
/** versionCode the next bundle upload reports */
|
||||
bundleCode = 42;
|
||||
/** How many validate / commit calls without changesNotSentForReview=true Play refuses with its 400 "Changes cannot
|
||||
* be sent for review automatically" (after a rejection, pending changes, managed publishing: pitfall 72). */
|
||||
refuseAutoReview = 0;
|
||||
|
||||
handle(method: string, url: string, body: unknown): Response {
|
||||
const u = new URL(url);
|
||||
|
|
@ -368,6 +371,10 @@ export class FakePlay {
|
|||
const e = this.edits.get(id!);
|
||||
if (!e) return err(404, 'NOT_FOUND', 'Edit has been deleted');
|
||||
if (method === 'DELETE' && rest === '') { this.edits.delete(id!); return new Response(null, { status: 204 }); }
|
||||
if (method === 'POST' && (rest === ':validate' || rest === ':commit') && this.refuseAutoReview > 0 && u.searchParams.get('changesNotSentForReview') !== 'true') {
|
||||
this.refuseAutoReview--;
|
||||
return json({ error: { code: 400, status: 'INVALID_ARGUMENT', message: 'Changes cannot be sent for review automatically. Please set the query parameter changesNotSentForReview to true. Once committed, the changes in this edit can be sent for review from the Google Play Console UI.', errors: [{ message: 'Changes cannot be sent for review automatically. Please set the query parameter changesNotSentForReview to true.', domain: 'global', reason: 'badRequest' }] } }, 400);
|
||||
}
|
||||
if (method === 'POST' && rest === ':validate') return json({ id });
|
||||
if (method === 'POST' && rest === ':commit') { this.live = e; this.edits.delete(id!); this.committed.push(id!); return json({ id }); }
|
||||
if (rest === '/details') { if (method === 'PUT') e.details = body as Record<string, unknown>; return json(e.details); }
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue