fix: Display source control buttons properly (#6756)

This commit is contained in:
Omar Ajoue 2023-07-27 12:11:43 +02:00 committed by GitHub
parent dc2ba743eb
commit d050b99fb2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 7 additions and 14 deletions

View file

@ -31,11 +31,6 @@ const tooltipOpenDelay = ref(300);
const currentBranch = computed(() => {
return sourceControlStore.preferences.branchName;
});
const featureEnabled = computed(() => window.localStorage.getItem('source-control'));
// TODO: use this for release
// const featureEnabled = computed(
// () => sourceControlStore.preferences.connected && sourceControlStore.preferences.branchName,
// );
const isInstanceOwner = computed(() => usersStore.isInstanceOwner);
const setupButtonTooltipPlacement = computed(() => (props.isCollapsed ? 'right' : 'top'));
@ -125,11 +120,11 @@ const goToSourceControlSetup = async () => {
<template>
<div
v-if="featureEnabled && isInstanceOwner"
v-if="sourceControlStore.isEnterpriseSourceControlEnabled && isInstanceOwner"
:class="{
[$style.sync]: true,
[$style.collapsed]: isCollapsed,
[$style.isConnected]: featureEnabled,
[$style.isConnected]: sourceControlStore.isEnterpriseSourceControlEnabled,
}"
:style="{ borderLeftColor: sourceControlStore.preferences.branchColor }"
data-test-id="main-sidebar-source-control"

View file

@ -31,10 +31,7 @@ const renderComponent = (renderOptions: Parameters<typeof render>[1] = {}) => {
};
describe('MainSidebarSourceControl', () => {
const getItemSpy = vi.spyOn(Storage.prototype, 'getItem');
beforeEach(() => {
getItemSpy.mockReturnValue('true');
pinia = createTestingPinia({
initialState: {
[STORES.SETTINGS]: {
@ -44,20 +41,21 @@ describe('MainSidebarSourceControl', () => {
});
usersStore = useUsersStore(pinia);
vi.spyOn(usersStore, 'isInstanceOwner', 'get').mockReturnValue(true);
sourceControlStore = useSourceControlStore();
vi.spyOn(sourceControlStore, 'isEnterpriseSourceControlEnabled', 'get').mockReturnValue(true);
uiStore = useUIStore();
});
it('should render nothing', async () => {
getItemSpy.mockReturnValue(null);
it('should render nothing when not instance owner', async () => {
vi.spyOn(usersStore, 'isInstanceOwner', 'get').mockReturnValue(false);
const { container } = renderComponent({ props: { isCollapsed: false } });
expect(container).toBeEmptyDOMElement();
});
it('should render empty content', async () => {
it('should render empty content when instance owner but not connected', async () => {
const { getByTestId } = renderComponent({ props: { isCollapsed: false } });
expect(getByTestId('main-sidebar-source-control')).toBeInTheDocument();
expect(getByTestId('main-sidebar-source-control')).toBeEmptyDOMElement();