lundi 10 août 2020

How to unit test overrride event listeners

I have a UploadListener

public interface UploadListener {
    void onCompleted(String msg);

    void onError(String msg);
}

now when i have to upload loan i have this method:

  public void uploadLoanAnalysis(final Activity activity, final List<OfflineLoanDemandTable> uploadList, @NotNull final UploadListener uploadListener) {

      
            NetworkRequestModel.RequestLoanAnalysis request = new NetworkRequestModel.RequestLoanAnalysis();
            request.setRequest("loanProcess");
            request.setStaffId(getPref(activity, R.string.user_id));
            request.setAnalysisAmount(uploadList.get(i).getAmount());

            final int finalI = i;
            new SetSynchronousRequest().get(activity).set(ServiceGenerator.createService()
                    .requestLoanAnalysis(request))
                    .start(new OnSynchronousRes() {
                        @Override
                        public void OnSuccess(JsonObject res) {
                            new SyncDataBase().deleteLoanDemandFromSvrId(uploadList.get(finalI).getSvrId());
                            successMessage.append(name + "[" + memberCode + "]" + "\n");
                            if (finalI == uploadList.size() - 1) {
                                                                uploadListener.onCompleted("success");

                            }
                        }

                        @Override
                        public void OnError(String err, String errcode, JsonObject res) {
                            errorMessage.append(name + "[" + memberCode + "]" + amount + "\n");
                            errorMessage.append("(" + err + ")" + "\n");
                            if (finalI == uploadList.size() - 1) {
                                                                uploadListener.onError("Failed");

                            }
                        }
        }
    }

i call the method like this in presenter::

     new UploadImplementor().uploadLoanAnalysis(activity, uploadList, new UploadListener() {
            @Override
            public void onCompleted(String msg) {
                view.hideProgressDialog();
                view.refreshViews();
                view.uploadMessage(msg);
            }

            @Override
            public void onError(String msg) {
                //didnt sent
            }
        });

now i want to write a test, that in case of onComplete are those functions calling or not and same with onError.

Aucun commentaire:

Enregistrer un commentaire