UNPKG

@jeremyckahn/farmhand

Version:
64 lines (55 loc) 1.61 kB
import { testState } from '../../test-utils/index.js' import { decrementItemFromInventory } from './decrementItemFromInventory.js' describe('decrementItemFromInventory', () => { let updatedState: farmhand.state describe('item is not in inventory', () => { beforeEach(() => { updatedState = decrementItemFromInventory( testState({ inventory: [{ id: 'sample-item-1', quantity: 1 }], }), 'nonexistent-item' ) }) test('no-ops', () => { expect(updatedState).toMatchObject({ inventory: [{ id: 'sample-item-1', quantity: 1 }], }) }) }) describe('item is in inventory', () => { describe('single instance of item in inventory', () => { beforeEach(() => { updatedState = decrementItemFromInventory( testState({ inventory: [{ id: 'sample-item-1', quantity: 1 }], }), 'sample-item-1' ) }) test('removes item from inventory', () => { expect(updatedState).toMatchObject({ inventory: [] }) }) }) describe('multiple instances of item in inventory', () => { beforeEach(() => { updatedState = decrementItemFromInventory( testState({ inventory: [{ id: 'sample-item-1', quantity: 2 }], }), 'sample-item-1' ) }) test('decrements item', () => { expect(updatedState).toMatchObject({ inventory: [ { id: 'sample-item-1', quantity: 1, }, ], }) }) }) }) })