Files
pokemon-inventory/apps/api/tests/application/provider-mapping-service.test.js
T
fragginwagon 4d3af37cd7
Quality / test (push) Canceled after 0s
feat: add product provider mappings
2026-09-09 12:58:02 -04:00

22 lines
1.2 KiB
JavaScript

import assert from 'node:assert/strict';
import test from 'node:test';
import { createProviderMappingService } from '../../src/modules/pricing/services/provider-mapping-service.js';
test('creates and disables seller-owned provider mappings', async () => {
const calls = [];
const service = createProviderMappingService({
providerMappingRepository: {
async createForSeller(input, sellerId) { calls.push(['create', input, sellerId]); return { status: 'CREATED', mapping: { id: 'mapping-1', ...input } }; },
async listForSeller() { return [{ id: 'mapping-1', status: 'ACTIVE' }]; },
async disableForSeller() { return { status: 'DISABLED', mapping: { id: 'mapping-1', status: 'DISABLED' } }; },
},
});
const created = await service.create({ sellerId: 'seller-1', productId: 'product-1', providerId: 'fixture', mappingType: 'PRODUCT', externalIdentifier: 'ext-1' });
assert.equal(created.id, 'mapping-1');
assert.equal(calls[0][2], 'seller-1');
assert.equal((await service.list({ sellerId: 'seller-1', productId: 'product-1' })).length, 1);
assert.equal((await service.disable({ sellerId: 'seller-1', id: 'mapping-1' })).status, 'DISABLED');
});