@Test(expected = NotFoundException.class)
  public void updateWhenContactIsNotFound() throws NotFoundException {
    when(redisTemplateMock.opsForSet()).thenReturn(setOperationsMock);
    when(setOperationsMock.isMember(RedisContactService.KEY_CONTACT_SET, CONTACT_KEY))
        .thenReturn(false);

    Contact updated = ContactTestUtil.createModel(CONTACT_ID);
    service.update(updated);

    verifyThatExistCheckForContactIsDone(CONTACT_KEY);

    verifyNoMoreInteractions(redisTemplateMock, setOperationsMock);
    verifyZeroInteractions(boundHashOperationsMock, contactIdCounterMock);
  }
  @Test
  public void update() throws NotFoundException {
    when(redisTemplateMock.boundHashOps(CONTACT_KEY)).thenReturn(boundHashOperationsMock);
    when(redisTemplateMock.opsForSet()).thenReturn(setOperationsMock);
    when(setOperationsMock.isMember(RedisContactService.KEY_CONTACT_SET, CONTACT_KEY))
        .thenReturn(true);

    Contact updated = ContactTestUtil.createModel(CONTACT_ID);
    service.update(updated);

    verify(redisTemplateMock, times(1)).boundHashOps(CONTACT_KEY);
    verifyThatContactWasPersisted(CONTACT_ID, updated);

    verifyThatExistCheckForContactIsDone(CONTACT_KEY);

    verifyNoMoreInteractions(boundHashOperationsMock, redisTemplateMock);
    verifyZeroInteractions(contactIdCounterMock, setOperationsMock);
  }