| 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? |