@Test
void shouldShowIssueWithBlames() {

    Report report = new Report();
    Issue issue = createIssue(1);
    report.add(issue);
    FileBlame blameRequest = mock(FileBlame.class);
    when(blameRequest.getCommit(issue.getLineStart())).thenReturn(COMMIT);
    when(blameRequest.getEmail(issue.getLineStart())).thenReturn(EMAIL);
    when(blameRequest.getName(issue.getLineStart())).thenReturn(NAME);
    when(blameRequest.getTime(issue.getLineStart())).thenReturn(TIME);
    Blames blames = mock(Blames.class);
    when(blames.contains(issue.getFileName())).thenReturn(true);
    when(blames.getBlame(issue.getFileName())).thenReturn(blameRequest);
    BlamesModel model = createModel(report, blames);
    BlamesRow actualRow = model.getRow(issue);
    assertThat(actualRow).hasDescription(EXPECTED_DESCRIPTION)
            .hasAge("1")
            .hasCommit(COMMIT)
            .hasAuthor(NAME)
            .hasEmail(EMAIL)
            .hasAddedAt(TIME);
    assertThatDetailedColumnContains(actualRow.getFileName(),
            createExpectedFileName(issue), "/path/to/file-1:0000015");
}