@Test
  public void save_gets_data_from_screen_and_save_to_repository() {
    when(view.fillBill(any(Bill.class))).thenReturn(new Bill());
    when(repository.save(any(Bill.class))).thenReturn(new OperationResult());

    presenter.save();

    verify(view, times(1)).fillBill(any(Bill.class));
    verify(repository, times(1)).save(any(Bill.class));
    verify(view, times(1)).finishView();
  }
  @Test
  public void call_view_with_errors() {
    OperationResult result = new OperationResult();
    result.addError(ValidationError.NAME);

    when(view.fillBill(any(Bill.class))).thenReturn(new Bill());
    when(repository.save(any(Bill.class))).thenReturn(result);

    presenter.save();

    verify(view, times(1)).showError(ValidationError.NAME);
  }