Skip to content

Commit fa9b4e1

Browse files
Bill LeoutsakosBill Leoutsakos
authored andcommitted
style(oracle-fusion-procurement): apply GitHub formatting feedback
1 parent 6acdf7f commit fa9b4e1

4 files changed

Lines changed: 75 additions & 60 deletions

File tree

apps/sim/lib/internal/oracle-fusion-procurement/oracle-fusion-procurement.test.ts

Lines changed: 24 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -661,7 +661,9 @@ describe('Oracle Fusion Procurement integration contracts', () => {
661661
mocks.request.mockResolvedValue(responseFor(contract))
662662
const { result } = await invoke(contract.slug, contract.params)
663663
expect(result.success).toBe(true)
664-
expect(serializeOracleFusionJsonBody(mocks.request.mock.calls[0][1].body)).toBe(testCase.expected)
664+
expect(serializeOracleFusionJsonBody(mocks.request.mock.calls[0][1].body)).toBe(
665+
testCase.expected
666+
)
665667
})
666668

667669
it('preserves exact nested request integers and false/zero without changing the caller body', async () => {
@@ -671,7 +673,9 @@ describe('Oracle Fusion Procurement integration contracts', () => {
671673
lines: [{ LineNumber: 1, LineTypeId: ID, Quantity: 0, Price: 0 }],
672674
}
673675
const original = structuredClone(body)
674-
mocks.request.mockResolvedValue(resourceItem('draftPurchaseOrders', `draftPurchaseOrders/${KEY}`))
676+
mocks.request.mockResolvedValue(
677+
resourceItem('draftPurchaseOrders', `draftPurchaseOrders/${KEY}`)
678+
)
675679
const response = await invoke('create_draft_purchase_order', {
676680
buyerId: ID,
677681
documentStyleId: ID,
@@ -695,7 +699,10 @@ describe('Oracle Fusion Procurement integration contracts', () => {
695699
mocks.request.mockResolvedValue({ result: 'SUCCESS' })
696700
await invoke('submit_purchase_requisition', { requisitionKey: KEY })
697701
expect(mocks.request.mock.calls[0][1].body).toEqual({})
698-
await invoke('submit_purchase_requisition', { requisitionKey: KEY, requestFundsOverrideFlag: false })
702+
await invoke('submit_purchase_requisition', {
703+
requisitionKey: KEY,
704+
requestFundsOverrideFlag: false,
705+
})
699706
expect(mocks.request.mock.calls[1][1].body).toEqual({ requestFundsOverrideFlag: false })
700707
})
701708

@@ -750,9 +757,7 @@ describe('Oracle Fusion Procurement integration contracts', () => {
750757
})
751758

752759
it('returns only the requested page and a usable next offset', async () => {
753-
mocks.request.mockResolvedValue(
754-
page([resourceItem('suppliers', `suppliers/${ID}`)], 50, true)
755-
)
760+
mocks.request.mockResolvedValue(page([resourceItem('suppliers', `suppliers/${ID}`)], 50, true))
756761
const { result } = await invoke('list_suppliers', { offset: 50, limit: 100 })
757762
expect(result.output).toMatchObject({ count: 1, offset: 50, hasMore: true, nextOffset: 51 })
758763
expect(mocks.request).toHaveBeenCalledTimes(1)
@@ -763,10 +768,13 @@ describe('Oracle Fusion Procurement integration contracts', () => {
763768
{ items: [], count: 0, offset: 0, limit: 100, hasMore: true },
764769
{ items: [], count: 0, offset: 1, limit: 100, hasMore: false },
765770
{ items: 'not-an-array', count: 0, offset: 0, limit: 100, hasMore: false },
766-
])('rejects a malformed collection instead of reporting an empty successful list', async (invalid) => {
767-
mocks.request.mockResolvedValue(invalid)
768-
expect((await invoke('list_suppliers')).status).toBe(502)
769-
})
771+
])(
772+
'rejects a malformed collection instead of reporting an empty successful list',
773+
async (invalid) => {
774+
mocks.request.mockResolvedValue(invalid)
775+
expect((await invoke('list_suppliers')).status).toBe(502)
776+
}
777+
)
770778

771779
it.each([true, false])('uses authoritative self links for opaque keys (v9=%s)', async (v9) => {
772780
mocks.request.mockResolvedValue(
@@ -800,7 +808,9 @@ describe('Oracle Fusion Procurement integration contracts', () => {
800808
})
801809

802810
it('checks that PATCH returns the same document', async () => {
803-
mocks.request.mockResolvedValue(resourceItem('draftPurchaseOrders', 'draftPurchaseOrders/OTHER'))
811+
mocks.request.mockResolvedValue(
812+
resourceItem('draftPurchaseOrders', 'draftPurchaseOrders/OTHER')
813+
)
804814
expect(
805815
(
806816
await invoke('update_draft_purchase_order', {
@@ -933,7 +943,9 @@ describe('Oracle Fusion Procurement integration contracts', () => {
933943
})
934944

935945
it('preserves a safe provider status and propagates cancellation', async () => {
936-
mocks.request.mockRejectedValue(new OracleFusionProviderError('Oracle Fusion access denied', 403))
946+
mocks.request.mockRejectedValue(
947+
new OracleFusionProviderError('Oracle Fusion access denied', 403)
948+
)
937949
expect((await invoke('list_suppliers')).status).toBe(403)
938950
const controller = new AbortController()
939951
controller.abort(new Error('Stopped'))

apps/sim/lib/internal/oracle-fusion-procurement/schema.ts

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -403,19 +403,21 @@ const requestDate = z.string().date()
403403
const requestDateTime = z.union([z.string().datetime({ offset: true }), requestDate])
404404

405405
/** 26C: op-suppliers-supplierid-child-addresses-post.html */
406-
const supplierAddressBodySchema = z.object({
407-
CountryCode: z.string().max(2),
408-
Email: z.string().max(320).optional(),
409-
AddressName: z.string().max(240).nullable().optional(),
410-
AddressLine1: z.string().max(240).nullable().optional(),
411-
AddressLine2: z.string().max(240).nullable().optional(),
412-
City: z.string().max(60).nullable().optional(),
413-
State: z.string().max(60).nullable().optional(),
414-
Province: z.string().max(60).nullable().optional(),
415-
PostalCode: z.string().max(60).nullable().optional(),
416-
AddressPurposeOrderingFlag: z.boolean().nullable().optional(),
417-
AddressPurposeRFQOrBiddingFlag: z.boolean().nullable().optional(),
418-
}).strict()
406+
const supplierAddressBodySchema = z
407+
.object({
408+
CountryCode: z.string().max(2),
409+
Email: z.string().max(320).optional(),
410+
AddressName: z.string().max(240).nullable().optional(),
411+
AddressLine1: z.string().max(240).nullable().optional(),
412+
AddressLine2: z.string().max(240).nullable().optional(),
413+
City: z.string().max(60).nullable().optional(),
414+
State: z.string().max(60).nullable().optional(),
415+
Province: z.string().max(60).nullable().optional(),
416+
PostalCode: z.string().max(60).nullable().optional(),
417+
AddressPurposeOrderingFlag: z.boolean().nullable().optional(),
418+
AddressPurposeRFQOrBiddingFlag: z.boolean().nullable().optional(),
419+
})
420+
.strict()
419421

420422
/** 26C: op-suppliers-supplierid-child-sites-suppliersiteid-child-assignments-post.html */
421423
const supplierSiteAssignmentBodySchema = z

apps/sim/lib/selectors/server/providers/oracle-fusion-procurement.test.ts

Lines changed: 35 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,7 @@ const SELECTOR_CONTRACTS: SelectorContract[] = [
180180
{
181181
name: 'procurementBusinessUnits',
182182
path: 'procurementBusinessUnitsLOV',
183-
itemKey: ID,
183+
itemKey: KEY,
184184
fields: { ProcurementBUId: ID, ProcurementBU: 'West', AgentAction: 'MANAGE_PURCHASE_ORDERS' },
185185
option: { id: ID, label: 'West', meta: { detail: 'MANAGE_PURCHASE_ORDERS' } },
186186
filter: `ProcurementBUId=${ID}`,
@@ -219,39 +219,42 @@ describe('Oracle Fusion Procurement selectors', () => {
219219
mocks.bundle.mockResolvedValue(PREPARED)
220220
})
221221

222-
it.each(SELECTOR_CONTRACTS)('$name lists and resolves the correct workflow value', async (entry) => {
223-
const input = args(entry.name)
224-
Object.assign(input.context, entry.context)
225-
const item = resource(`${entry.path}/${entry.itemKey}`, entry.fields)
226-
mocks.request.mockResolvedValue(page([item]))
227-
expect(await attachment(input).execute(input, PREPARED)).toEqual({
228-
kind: 'list',
229-
items: [entry.option],
230-
})
231-
expect(mocks.request.mock.lastCall![1]).toMatchObject({
232-
method: 'GET',
233-
address: { family: 'fscm', relativePath: entry.path },
234-
query: { limit: 100, offset: 0 },
235-
})
236-
mocks.request.mockClear()
237-
mocks.request.mockResolvedValue(entry.filter ? page([item]) : item)
238-
input.request = { kind: 'detail', id: entry.option.id }
239-
expect(await attachment(input).execute(input, PREPARED)).toEqual({
240-
kind: 'detail',
241-
item: entry.option,
242-
})
243-
expect(mocks.request).toHaveBeenCalledTimes(1)
244-
expect(mocks.request.mock.lastCall![1].address.relativePath).toBe(
245-
entry.filter ? entry.path : `${entry.path}/${entry.itemKey}`
246-
)
247-
if (entry.filter) {
248-
expect(mocks.request.mock.lastCall![1].query).toMatchObject({
249-
q: entry.filter,
250-
limit: 1,
251-
offset: 0,
222+
it.each(SELECTOR_CONTRACTS)(
223+
'$name lists and resolves the correct workflow value',
224+
async (entry) => {
225+
const input = args(entry.name)
226+
Object.assign(input.context, entry.context)
227+
const item = resource(`${entry.path}/${entry.itemKey}`, entry.fields)
228+
mocks.request.mockResolvedValue(page([item]))
229+
expect(await attachment(input).execute(input, PREPARED)).toEqual({
230+
kind: 'list',
231+
items: [entry.option],
232+
})
233+
expect(mocks.request.mock.lastCall![1]).toMatchObject({
234+
method: 'GET',
235+
address: { family: 'fscm', relativePath: entry.path },
236+
query: { limit: 100, offset: 0 },
237+
})
238+
mocks.request.mockClear()
239+
mocks.request.mockResolvedValue(entry.filter ? page([item]) : item)
240+
input.request = { kind: 'detail', id: entry.option.id }
241+
expect(await attachment(input).execute(input, PREPARED)).toEqual({
242+
kind: 'detail',
243+
item: entry.option,
252244
})
245+
expect(mocks.request).toHaveBeenCalledTimes(1)
246+
expect(mocks.request.mock.lastCall![1].address.relativePath).toBe(
247+
entry.filter ? entry.path : `${entry.path}/${entry.itemKey}`
248+
)
249+
if (entry.filter) {
250+
expect(mocks.request.mock.lastCall![1].query).toMatchObject({
251+
q: entry.filter,
252+
limit: 1,
253+
offset: 0,
254+
})
255+
}
253256
}
254-
})
257+
)
255258

256259
it('prepares the destination exclusively from the authorized Fusion credential', async () => {
257260
const input = args('suppliers')

apps/sim/lib/selectors/server/providers/oracle-fusion-procurement.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -156,9 +156,7 @@ async function prepareDestination(
156156
function parentParams(args: ExecuteServerSelectorArgs, definition: SelectorDefinition) {
157157
if (!definition.parent) return {}
158158
const value =
159-
definition.parent === 'supplierId'
160-
? args.context.supplierId
161-
: args.context.poHeaderId
159+
definition.parent === 'supplierId' ? args.context.supplierId : args.context.poHeaderId
162160
const result = procurementIdentifierSchema.safeParse(value)
163161
if (!result.success) throw new SelectorContextUnavailableError()
164162
return { [definition.parent]: result.data }

0 commit comments

Comments
 (0)