blob: 83591131076b7b64ce9c0ee6d13a14474c718cab [file] [edit]
Need tests for (likely not a complete list):
* directFromSellerSignals.
* All generateBid() and scoreAd() input parameters.
* All interest group fields (passed to auction, have effect on auction).
Very few fields covered.
Should be sure to cover buyerAndSellerReportingId and buyerReportingId for
component ads, as they should not be settable.
Already covered:
Validation when joining/leaving interest group.
renderURL and metadata for component ads (only integers covered, but
probably not worth covering all types, if we have coverage for the
main renderURL).
* Filtering/prioritization (including bidding signals influencing priorities)
* Size restrictions / ad and component ad sizes.
* additionalBids.
* adCost.
* bidCurrency.
* modellingSignals.
* Updates (both after auction and triggered).
* All auctionConfig parameters (including invalid auctionConfigs, and ones
with no buyers).
* Joining interest group with duration of 0 should just leave the IG (not
currently guaranteed to work, due to potential time skew between processes).
* Multiple buyers.
* Multiple interest groups with same owner.
* Multiple frame tests (including loading component
ad URNs in fenced frames of other frames, etc)
* adAuctionConfig passed to reportResult().
* Component auctions.
* Including cross-origin sellers.
* browserSignals fields in scoring/bidding methods.
* In reporting methods, browserSignals fields: topLevelSeller,
componentSeller, modifiedBid, adCost, madeHighestScoringOtherBid
(with interest group from another origin).
* Loading ads in iframes.
* In fencedframes window.fence.setReportEventDataForAutomaticBeacons()
* Automatic beacons (e.g., reserved.top_navigation)
* Network timeouts.
* Validate specific escaping behavior logic (still under discussion). There
are a number of different rules for which characters are escaped, and
whether spaces are escaped as "%20" or "+".
* Reports not sent if ad not used.
* Interactions with local network access API, which requires public
networks to send CORS preflights for requests made over local networks.
Needs testing with public publisher pages running auctions with
sellers / buyers / update URLs on local networks.
* Calling FLEDGE APIs (or at least leaveAdInterestGroup() with no args)
in a non-ad FencedFrame.
* Promise AuctionConfig parameters
* Test network requests in terms of fetch behavior
* Network partition (not yet specced).
* Test that await is not needed for same-origin interest groups
* Verify that's still in the spec/explainer first.
* executionMode
* Including cross-origin join/leave behavior with "group-by-origin" mode.
* Make sure state is not shared.
* Across scoreAd() / generateBid() calls, and with report calls.
* In "group-by-origin" execution mode across IGs joined from different
origins, and between generateBid() and reportWin().
* Test Content-Type headers allowed in responess for script/wasm/JSON fetches.
* Test WASM support, updating createBiddingWasmHelperURL().
If possible:
* Aggregate reporting.
* Join/leave permission delegation via .well-known files
* Including tests for clearOriginJoinedInterestGroups().
* Include tests for HTTP-y/fetch-y things (e.g., whether they have cookies)
* k-anonymity.
* Signals request batching. This is an optional feature, so can't require it,
but maybe a test where batching could be used, and make sure things work,
whether batching is used or not?