parts
This commit is contained in:
@@ -476,6 +476,58 @@ async function run(port) {
|
||||
'service point search failed'
|
||||
);
|
||||
|
||||
const partForbidden = await request(port, 'POST', '/api/parts', {
|
||||
token: dealerToken,
|
||||
body: {
|
||||
partNumber: 'CG125-B010',
|
||||
product: 'CLUTCH HOUSING - CG125',
|
||||
price: 9800,
|
||||
uom: 'PCS',
|
||||
model: 'CG - 125',
|
||||
},
|
||||
});
|
||||
assert(partForbidden.status === 403, 'dealer should not add parts');
|
||||
|
||||
const partMissing = await request(port, 'POST', '/api/parts', {
|
||||
token: repToken,
|
||||
body: { partNumber: 'CG125-B010', product: 'CLUTCH HOUSING - CG125' },
|
||||
});
|
||||
assert(partMissing.status === 400, 'part create should require every field');
|
||||
|
||||
const part = await request(port, 'POST', '/api/parts', {
|
||||
token: repToken,
|
||||
body: {
|
||||
partNumber: 'CG125-B010',
|
||||
product: 'CLUTCH HOUSING - CG125',
|
||||
price: 9800,
|
||||
uom: 'PCS',
|
||||
model: 'CG - 125',
|
||||
},
|
||||
});
|
||||
assert(part.status === 201, 'part create failed');
|
||||
|
||||
const duplicatePart = await request(port, 'POST', '/api/parts', {
|
||||
token: repToken,
|
||||
body: {
|
||||
partNumber: 'CG125-B010',
|
||||
product: 'CLUTCH HOUSING - CG125',
|
||||
price: 9800,
|
||||
uom: 'PCS',
|
||||
model: 'CG - 125',
|
||||
},
|
||||
});
|
||||
assert(duplicatePart.status === 409, 'duplicate part number should be rejected');
|
||||
|
||||
const foundPart = await request(port, 'GET', '/api/parts?model=CG%20-%20125&search=CLUTCH', {
|
||||
token: dealerToken,
|
||||
});
|
||||
assert(
|
||||
foundPart.status === 200 &&
|
||||
foundPart.json.data.some((item) => item.partNumber === 'CG125-B010' && item.price === 9800) &&
|
||||
foundPart.json.models.includes('CG - 125'),
|
||||
'part search failed'
|
||||
);
|
||||
|
||||
const reassigned = await request(port, 'PATCH', '/api/admin/assign-dealer', {
|
||||
token: adminToken,
|
||||
body: { salesRepId: rep.json.data.id, dealerId: dealerC.json.data.id, assigned: true },
|
||||
|
||||
Reference in New Issue
Block a user