getTaxLineItem unit tests

This commit is contained in:
Bill Richardson 2024-05-09 16:25:52 -04:00
parent ba6c7075e1
commit 1e5b13a2bb

View file

@ -1,4 +1,8 @@
import { buildQueryStringParameterFromArrayOfComplexObjects, getLineItemQueryString } from '@/helpers/querystring-helper';
import {
buildQueryStringParameterFromArrayOfComplexObjects,
getLineItemQueryString,
getTaxLineItemQueryString
} from '@/helpers/querystring-helper';
describe('querystring-helper', () => {
describe('buildQueryStringParameterFromArrayOfComplexObjects', () => {
@ -44,4 +48,34 @@ describe('querystring-helper', () => {
expect(result).toBe('&param[0].partNumber=a&param[1].partNumber=b&param[2].partNumber=c&param[3].partNumber=d&param[4].partNumber=e');
});
});
describe('getTaxLineItemQueryString', () => {
it('returns empty query string from empty line items', () => {
// Arrange
const lineItems = [];
// Act
const result = getTaxLineItemQueryString(lineItems, 'param');
// Assert
expect(result).toBe('');
});
it('returns a query string from line items', () => {
// Arrange
const a = { partNumber: 'a', laborAmount: 0, sellingPrice: 10, kitPrice: 10 };
const c = { partNumber: 'c', laborAmount: 5, sellingPrice: 5, kitPrice: 5 };
const b = { partNumber: 'b', laborAmount: 10, sellingPrice: 10, kitPrice: 0, childParts: [c] };
const d = { partNumber: 'd', laborAmount: 10, sellingPrice: 10, kitPrice: 10 };
const lineItems = [a, b, d];
// Act
const result = getTaxLineItemQueryString(lineItems, 'param');
// Assert
// eslint-disable-next-line max-len
expect(result).toBe('&param[0].partNumber=a&param[0].laborAmount=0&param[0].sellingPrice=10&param[0].kitPrice=10&param[1].partNumber=b&param[1].laborAmount=10&param[1].sellingPrice=10&param[1].kitPrice=0&param[2].partNumber=c&param[2].laborAmount=5&param[2].sellingPrice=5&param[2].kitPrice=5&param[3].partNumber=d&param[3].laborAmount=10&param[3].sellingPrice=10&param[3].kitPrice=10');
});
});
});