From 004027be2826f79f369649d2172702756e29afd7 Mon Sep 17 00:00:00 2001 From: Andre Christoga Pramaditya Date: Tue, 28 Jun 2022 14:41:37 +0700 Subject: [PATCH] feat(jest): 96% coverage for Item.abstract.ts --- libraries/Files/test/Fil.test.ts | 47 ++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/libraries/Files/test/Fil.test.ts b/libraries/Files/test/Fil.test.ts index 35b3947c33..fa6994dc13 100644 --- a/libraries/Files/test/Fil.test.ts +++ b/libraries/Files/test/Fil.test.ts @@ -1,6 +1,7 @@ import { Fil } from '../Fil' import { FILE_TYPE } from '../types/file' import { FileSystemErrors } from '../errors/Errors' +import { Item } from '~/libraries/Files/abstracts/Item.abstract' describe('Test FileSystem File', () => { const mockFileData = { @@ -22,6 +23,8 @@ describe('Test FileSystem File', () => { expect(file.id).toEqual(mockFileData.id)) it(`Correctly returns a file size (${mockFileData.size})`, () => expect(file.size).toEqual(mockFileData.size)) + it(`Correctly returns a file path`, () => + expect(file.path).toEqual(mockFileData.name)) it('Correctly clones a file', () => { const clonedFile: Fil = file.copy expect(clonedFile.size).toEqual(file.size) @@ -46,6 +49,32 @@ describe('Test FileSystem File', () => { file.file = testFile expect(file.file).toEqual(testFile) }) + it('Correctly toggle like', () => { + const mockFileData = { + name: 'filename.png', + id: '0x0cef', + size: 455, + description: 'Test file description', + } + + const file = new Fil(mockFileData) + expect(file.liked).toBeFalsy() + file.toggleLiked() + expect(file.liked).toBeTruthy() + }) + it('Correctly share item', () => { + const mockFileData = { + name: 'filename.png', + id: '0x0cef', + size: 455, + description: 'Test file description', + } + + const file = new Fil(mockFileData) + expect(file.shared).toBeFalsy() + file.shareItem() + expect(file.shared).toBeTruthy() + }) it('Returns error for LEADING_DOT file name', () => { const mockFileData = { name: '.', @@ -91,4 +120,22 @@ describe('Test FileSystem File', () => { expect(error).toHaveProperty('message', FileSystemErrors.NO_EMPTY_STRING) } }) + it('Returns error for ITEM_ABSTRACT_ONLY constructor', () => { + const mockFileData = { + name: ' ', + id: '0x0bef', + size: 455, + description: 'Test file description', + } + + try { + const file = new Item(mockFileData) + } catch (error) { + expect(error).toBeInstanceOf(Error) + expect(error).toHaveProperty( + 'message', + FileSystemErrors.ITEM_ABSTRACT_ONLY, + ) + } + }) })