import {Commit} from 'sentry-fixture/commit'; import {render, screen} from 'sentry-test/reactTestingLibrary'; import LastCommit from 'sentry/components/lastCommit'; describe('LastCommit', function () { let mockedCommit; const mockedCommitTitle = '(improve) Add Links to Spike-Protection Email (#2408)'; beforeEach(() => { mockedCommit = Commit(); }); it('renders', function () { render(); }); it('links to the commit in GitHub', function () { mockedCommit.repository.provider = {id: 'github'}; const mockedCommitURL = `${mockedCommit.repository?.url}/commit/${mockedCommit.id}`; render(); expect(screen.getByText(mockedCommitTitle)).toBeInTheDocument(); expect(screen.getByText(mockedCommitTitle)).toHaveAttribute('href', mockedCommitURL); }); it('displays the commit with its shortened ID if it has no message', function () { mockedCommit.message = null; render(); expect(screen.queryByText(mockedCommitTitle)).not.toBeInTheDocument(); expect(screen.getByText(mockedCommit.id.slice(0, 7))).toBeInTheDocument(); }); });