Skip to content

Commit

Permalink
Add rename use case test
Browse files Browse the repository at this point in the history
  • Loading branch information
abelgardep committed May 20, 2021
1 parent cc5c4af commit eebc507
Showing 1 changed file with 60 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
/**
* ownCloud Android client application
*
* @author Abel García de Prada
* Copyright (C) 2021 ownCloud GmbH.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2,
* as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.owncloud.android.domain.files.usecases

import com.owncloud.android.domain.exceptions.UnauthorizedException
import com.owncloud.android.domain.files.FileRepository
import com.owncloud.android.testutil.OC_FILE
import com.owncloud.android.testutil.OC_FOLDER
import io.mockk.every
import io.mockk.spyk
import io.mockk.verify
import org.junit.Assert.assertEquals
import org.junit.Assert.assertTrue
import org.junit.Test

class RenameFileUseCaseTest {
private val repository: FileRepository = spyk()
private val useCase = RenameFileUseCase(repository)
private val useCaseParams = RenameFileUseCase.Params(OC_FILE, "Video.mp4")

@Test
fun `rename file - ok`() {
every { repository.renameFile(any(), any()) } returns Unit

val useCaseResult = useCase.execute(useCaseParams)

assertTrue(useCaseResult.isSuccess)
assertEquals(Unit, useCaseResult.getDataOrNull())

verify(exactly = 1) { repository.renameFile(any(), useCaseParams.newName) }
}

@Test
fun `remove file - ko - other exception`() {
every { repository.renameFile(any(), any()) } throws UnauthorizedException()

val useCaseResult = useCase.execute(useCaseParams)

assertTrue(useCaseResult.isError)
assertTrue(useCaseResult.getThrowableOrNull() is UnauthorizedException)

verify(exactly = 1) { repository.renameFile(any(), any()) }
}
}

0 comments on commit eebc507

Please sign in to comment.