Как проверить уровень презентатора, когда объект нулевой - PullRequest
0 голосов
/ 05 февраля 2020

Привет, я пишу юнит-тесты для моего уровня презентатора, используя mockito, и я хотел знать, как протестировать эту функцию. Я получаю сообщение об ошибке, что svgSignatureGzipped имеет значение null, но как мне пройти это в тесте?

Вот мой код

Я тестирую свой уровень Presenter, который имеет функцию

QualityControlDialogPresenter

override fun signatureSigned(name: String, svgSignature: String, bitmapSignature: Bitmap, signatureType: SignatureType) {
    val svgSignatureGzipped = CompressionTools.gzipCompress(svgSignature)
    when (signatureType) {
        SignatureType.OPERATOR -> {
            operatorSignature = QualityControlSignature(svgSignatureGzipped, DateTime())
            operatorSigned = true
            view.operatorSignatureSigned()
        }
        SignatureType.ENGINEER -> {
            engineerSignature = QualityControlSignature(svgSignatureGzipped, DateTime())
            engineerSigned = true
            engineerName = name
            view.engineerSignatureSigned()
        }
    }
}

QualityControlDialogPresenterTest

@Mock
private lateinit var bitmap: Bitmap


@Test
fun `must update operator button when operator signature signed`() {
    presenter.signatureSigned("", "", bitmap, SignatureType.OPERATOR)
    verify(view).operatorSignatureSigned()
}

@Test
fun `must update engineer button when engineer signature signed`() {

}

QualityControlDialog

override fun operatorSignatureSigned() {
    btnOperatorSignature.setBackgroundColor(getResources().getColor(R.color.i6_teal))
    btnOperatorSignature.setText(getString(R.string.quality_control_operator) + " " + getString(R.string.tick_mark))
}

override fun engineerSignatureSigned() {
    btnEngineerSignature.setBackgroundColor(getResources().getColor(R.color.i6_teal))
    btnEngineerSignature.setText(getString(R.string.quality_control_engineer) + " " + getString(R.string.tick_mark))
}
...