import assert from 'node:assert/strict'; import test from 'node:test'; import { buildApp } from '../../src/app/build-app.js'; test('protects provider mapping writes and scopes mappings to the seller', async (testContext) => { let received; const app = buildApp({ authenticateAdmin: async () => ({ sellerId: 'seller-1' }), authorizeUnsafeRequest: async () => {}, providerMappingService: { async create(input) { received = input; return { id: 'mapping-1', ...input, status: 'ACTIVE' }; }, async list() { return []; }, async disable() { return { id: 'mapping-1', status: 'DISABLED' }; }, }, }); testContext.after(() => app.close()); const response = await app.inject({ method: 'POST', url: '/api/v1/admin/products/product-1/provider-mappings', headers: { 'x-csrf-token': 'csrf' }, payload: { providerId: 'fixture', mappingType: 'PRODUCT', externalIdentifier: 'ext-1' }, }); assert.equal(response.statusCode, 201); assert.equal(received.sellerId, 'seller-1'); assert.equal(response.json().data.providerId, 'fixture'); });