Показать сообщение отдельно
  #1 (permalink)  
Старый 06.03.2022, 15:42
Аспирант
Отправить личное сообщение для TomWalbridge Посмотреть профиль Найти все сообщения от TomWalbridge
 
Регистрация: 24.10.2021
Сообщений: 31

Помогите решить задачу
Добрый день! Кто может помочь решить 2 задачи, самому не понять, используя try catch
1. Функция calculateDiscount должна выбрасывать ошибку, если её аргументы не числа.
export function calculateDiscount(price, percent) {
  return (price / 100) * percent;
}

2. Функция getMarketingPrice не должна выбрасывать ошибку, если в структуре товара нет информации про цены.
export function getMarketingPrice(product) {
    const productObject = JSON.parse(product);

    return productObject.prices.marketingPrice;
}

код автотестов
import { calculateDiscount, getMarketingPrice, getAvatarUrl } from './index';

test('calculateDiscount', () => {
  expect(calculateDiscount(1000, 10)).toBe(100);
  expect(() => {
    calculateDiscount('1000', '10');
  }).toThrow();
  expect(() => {
    calculateDiscount('1000', '10');
  }).toThrowError(TypeError);
});

test('getMarketingPrice', () => {
  expect(() => {
    getMarketingPrice('{ "name": "Product" }');
  }).not.toThrow();
  expect(getMarketingPrice('{ "name": "Product" }')).toBeNull();
  expect(getMarketingPrice('{ "name": "Product", "prices": { "marketingPrice": 1200 } }')).toBe(1200);
});

Заранее всем благодарен за помощь!!!

Последний раз редактировалось TomWalbridge, 06.03.2022 в 15:45.
Ответить с цитированием