@Test
  public void setBestAnswerSzenario() {

    User jack = new User("Jack", "*****@*****.**", "password").save();
    User bill = new User("Bill", "*****@*****.**", "secret").save();
    Question question = jack.addQuestion("A title", "My first question");
    Answer firstAnswer = question.answer(jack, "first answer").save();
    Answer secondAnswer = question.answer(bill, "second answer").save();
    Answer thirdAnswer = question.answer(bill, "third answer").save();

    assertFalse(firstAnswer.isBestAnswer());
    assertFalse(secondAnswer.isBestAnswer());
    assertFalse(thirdAnswer.isBestAnswer());

    assertTrue(question.canSetBestAnswer());

    assertFalse(firstAnswer.canBeBestAnswer());
    assertTrue(secondAnswer.canBeBestAnswer());
    assertTrue(thirdAnswer.canBeBestAnswer());

    assertFalse(firstAnswer == null);
    assertFalse(secondAnswer == null);
    assertFalse(thirdAnswer == null);

    question.setBestAnswer(secondAnswer);

    assertFalse(firstAnswer.isBestAnswer());
    assertTrue(secondAnswer.isBestAnswer());
    assertFalse(thirdAnswer.isBestAnswer());

    assertTrue(question.canSetBestAnswer());
    question.resetBestAnswer();

    assertFalse(firstAnswer.isBestAnswer());
    assertFalse(secondAnswer.isBestAnswer());
    assertFalse(thirdAnswer.isBestAnswer());
  }