diff --git a/src/Item/Item.service.spec.ts b/src/Item/Item.service.spec.ts new file mode 100644 index 00000000..6b407a94 --- /dev/null +++ b/src/Item/Item.service.spec.ts @@ -0,0 +1,29 @@ +import { dbItemMock } from '../../spec/mocks/items' +import { Item } from './Item.model' +import { ItemService } from './Item.service' +import { ItemAttributes } from './Item.types' + +jest.mock('./Item.model') + +describe('Item Service', () => { + let dbItem: ItemAttributes + describe('isOwnedOrManagedBy', () => { + const service = new ItemService() + beforeEach(() => { + dbItem = { ...dbItemMock, eth_address: '0xoriginalAddress' } + ;(Item.findOne as jest.Mock).mockResolvedValueOnce(dbItem) + }) + + it('should return true when the owner is the sender', async () => { + expect( + await service.isOwnedOrManagedBy(dbItem.id, '0xoriginalAddress') + ).toBe(true) + }) + + it('should return false when the sender is not the owner', async () => { + expect( + await service.isOwnedOrManagedBy(dbItem.id, '0xanotherAddress') + ).toBe(false) + }) + }) +}) diff --git a/src/Item/Item.service.ts b/src/Item/Item.service.ts index 11208ec6..ce9a2932 100644 --- a/src/Item/Item.service.ts +++ b/src/Item/Item.service.ts @@ -120,7 +120,7 @@ export class ItemService { ethAddress ) } else { - return dbItem.eth_address === dbItem.eth_address + return ethAddress === dbItem.eth_address } }