Skip to content

Commit

Permalink
feat(auth): disable generate a pat if no hostname (#1120)
Browse files Browse the repository at this point in the history
  • Loading branch information
setchy authored May 18, 2024
1 parent 49249fe commit be90596
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 10 deletions.
40 changes: 30 additions & 10 deletions src/routes/LoginWithToken.test.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -72,18 +72,38 @@ describe('routes/LoginWithToken.tsx', () => {
expect(validate(values).token).toBe('Invalid token.');
});

it("should click on the 'Generate a PAT' link and open the browser", async () => {
render(
<AppContext.Provider value={{ validateToken: mockValidateToken }}>
<MemoryRouter>
<LoginWithToken />
</MemoryRouter>
</AppContext.Provider>,
);
describe("'Generate a PAT' button", () => {
it('should be disabled if no hostname configured', async () => {
render(
<AppContext.Provider value={{ validateToken: mockValidateToken }}>
<MemoryRouter>
<LoginWithToken />
</MemoryRouter>
</AppContext.Provider>,
);

fireEvent.click(screen.getByText('Generate a PAT'));
fireEvent.change(screen.getByLabelText('Hostname'), {
target: { value: '' },
});

fireEvent.click(screen.getByText('Generate a PAT'));

expect(openExternalMock).toHaveBeenCalledTimes(0);
});

expect(openExternalMock).toHaveBeenCalledTimes(1);
it('should open in browser if hostname configured', async () => {
render(
<AppContext.Provider value={{ validateToken: mockValidateToken }}>
<MemoryRouter>
<LoginWithToken />
</MemoryRouter>
</AppContext.Provider>,
);

fireEvent.click(screen.getByText('Generate a PAT'));

expect(openExternalMock).toHaveBeenCalledTimes(1);
});
});

it('should login using a token - success', async () => {
Expand Down
1 change: 1 addition & 0 deletions src/routes/LoginWithToken.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@ export const LoginWithToken: FC = () => {
<button
type="button"
className={`px-2 py-1 text-xs ${buttonClasses}`}
disabled={!values.hostname}
onClick={() => openLink(getNewTokenURL())}
>
Generate a PAT
Expand Down
1 change: 1 addition & 0 deletions src/routes/__snapshots__/LoginWithToken.test.tsx.snap

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit be90596

Please sign in to comment.