Search in sources :

Example 1 with OnSuccessCallback

use of com.karumi.rosie.domain.usecase.callback.OnSuccessCallback in project Rosie by Karumi.

the class UseCaseHandlerTest method shouldThrowExceptionIfTheOnSuccessCallbackHasNoMethodsWithSuccessAnnotations.

@Test
public void shouldThrowExceptionIfTheOnSuccessCallbackHasNoMethodsWithSuccessAnnotations() {
    FakeTaskScheduler taskScheduler = new FakeTaskScheduler();
    SuccessUseCase successUseCase = new SuccessUseCase();
    ErrorHandler errorHandler = mock(ErrorHandler.class);
    UseCaseHandler useCaseHandler = new UseCaseHandler(taskScheduler, errorHandler);
    UseCaseCall useCaseCall = new UseCaseCall(successUseCase, useCaseHandler);
    useCaseCall.onSuccess(new OnSuccessCallback() {
    }).execute();
    verify(errorHandler).notifyException(any(IllegalStateException.class), eq((OnErrorCallback) null));
}
Also used : OnErrorCallback(com.karumi.rosie.domain.usecase.error.OnErrorCallback) ErrorHandler(com.karumi.rosie.domain.usecase.error.ErrorHandler) FakeTaskScheduler(com.karumi.rosie.testutils.FakeTaskScheduler) OnSuccessCallback(com.karumi.rosie.domain.usecase.callback.OnSuccessCallback) Test(org.junit.Test)

Example 2 with OnSuccessCallback

use of com.karumi.rosie.domain.usecase.callback.OnSuccessCallback in project Rosie by Karumi.

the class CharacterDetailsPresenter method loadCharacterDetails.

private void loadCharacterDetails() {
    getView().hideCharacterDetail();
    createUseCaseCall(getCharacterDetails).args(characterKey).onSuccess(new OnSuccessCallback() {

        @Success
        public void onCharacterDetailsLoaded(Character character) {
            hideLoading();
            CharacterDetailViewModel characterDetailViewModel = mapper.mapCharacterToCharacterDetailViewModel(character);
            getView().showCharacterDetail(characterDetailViewModel);
        }
    }).onError(new OnErrorCallback() {

        @Override
        public boolean onError(Error error) {
            getView().hideLoading();
            return false;
        }
    }).execute();
}
Also used : OnErrorCallback(com.karumi.rosie.domain.usecase.error.OnErrorCallback) Character(com.karumi.rosie.sample.characters.domain.model.Character) CharacterDetailViewModel(com.karumi.rosie.sample.characters.view.viewmodel.CharacterDetailViewModel) OnSuccessCallback(com.karumi.rosie.domain.usecase.callback.OnSuccessCallback) Success(com.karumi.rosie.domain.usecase.annotation.Success)

Aggregations

OnSuccessCallback (com.karumi.rosie.domain.usecase.callback.OnSuccessCallback)2 OnErrorCallback (com.karumi.rosie.domain.usecase.error.OnErrorCallback)2 Success (com.karumi.rosie.domain.usecase.annotation.Success)1 ErrorHandler (com.karumi.rosie.domain.usecase.error.ErrorHandler)1 Character (com.karumi.rosie.sample.characters.domain.model.Character)1 CharacterDetailViewModel (com.karumi.rosie.sample.characters.view.viewmodel.CharacterDetailViewModel)1 FakeTaskScheduler (com.karumi.rosie.testutils.FakeTaskScheduler)1 Test (org.junit.Test)1