datajunction-ui 0.0.59 → 0.0.61
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/app/components/NamespaceHeader.jsx +651 -568
- package/src/app/components/__tests__/GitModals.test.jsx +68 -39
- package/src/app/components/__tests__/NamespaceHeader.test.jsx +12 -16
- package/src/app/components/__tests__/__snapshots__/NamespaceHeader.test.jsx.snap +150 -140
- package/src/app/components/git/CreateBranchModal.jsx +16 -3
- package/src/app/components/git/GitSettingsModal.jsx +366 -102
- package/src/app/components/git/__tests__/GitSettingsModal.test.jsx +216 -25
|
@@ -747,6 +747,17 @@ describe('<GitSettingsModal />', () => {
|
|
|
747
747
|
|
|
748
748
|
beforeEach(() => {
|
|
749
749
|
jest.clearAllMocks();
|
|
750
|
+
// Mock fetch for parent config fetching
|
|
751
|
+
global.fetch = jest.fn(() =>
|
|
752
|
+
Promise.resolve({
|
|
753
|
+
ok: true,
|
|
754
|
+
json: () =>
|
|
755
|
+
Promise.resolve({
|
|
756
|
+
github_repo_path: 'test/repo',
|
|
757
|
+
git_path: 'nodes/',
|
|
758
|
+
}),
|
|
759
|
+
}),
|
|
760
|
+
);
|
|
750
761
|
});
|
|
751
762
|
|
|
752
763
|
it('should not render when isOpen is false', () => {
|
|
@@ -754,39 +765,44 @@ describe('<GitSettingsModal />', () => {
|
|
|
754
765
|
expect(screen.queryByText('Git Configuration')).not.toBeInTheDocument();
|
|
755
766
|
});
|
|
756
767
|
|
|
757
|
-
it('should render the modal with form fields', () => {
|
|
768
|
+
it('should render the modal with git root form fields', () => {
|
|
758
769
|
render(<GitSettingsModal {...defaultProps} />);
|
|
759
770
|
|
|
760
771
|
expect(screen.getByText('Git Configuration')).toBeInTheDocument();
|
|
761
|
-
expect(screen.getByLabelText(
|
|
762
|
-
expect(screen.getByLabelText(
|
|
763
|
-
|
|
772
|
+
expect(screen.getByLabelText(/Repository/)).toBeInTheDocument();
|
|
773
|
+
expect(screen.getByLabelText(/Path/)).toBeInTheDocument();
|
|
774
|
+
// Branch field (from branch mode) should NOT be present in git root mode
|
|
775
|
+
expect(screen.queryByLabelText(/^Branch \*/)).not.toBeInTheDocument();
|
|
764
776
|
});
|
|
765
777
|
|
|
766
|
-
it('should pre-fill form with
|
|
778
|
+
it('should pre-fill form with git root config', () => {
|
|
767
779
|
const config = {
|
|
768
780
|
github_repo_path: 'myorg/repo',
|
|
769
|
-
git_branch: 'main',
|
|
770
781
|
git_path: 'definitions/',
|
|
771
|
-
git_only: true,
|
|
772
782
|
};
|
|
773
783
|
|
|
774
784
|
render(<GitSettingsModal {...defaultProps} currentConfig={config} />);
|
|
775
785
|
|
|
776
|
-
expect(screen.getByLabelText(
|
|
777
|
-
expect(screen.getByLabelText(
|
|
778
|
-
|
|
786
|
+
expect(screen.getByLabelText(/Repository/)).toHaveValue('myorg/repo');
|
|
787
|
+
expect(screen.getByLabelText(/Path/)).toHaveValue('definitions/');
|
|
788
|
+
// Branch field (from branch mode) should NOT be present in git root mode
|
|
789
|
+
expect(screen.queryByLabelText(/^Branch \*/)).not.toBeInTheDocument();
|
|
779
790
|
});
|
|
780
791
|
|
|
781
|
-
it('should pre-fill git_only checkbox from config', () => {
|
|
792
|
+
it('should pre-fill git_only checkbox from branch namespace config', () => {
|
|
782
793
|
const config = {
|
|
783
|
-
|
|
784
|
-
git_branch: '
|
|
785
|
-
git_path: 'definitions/',
|
|
794
|
+
parent_namespace: 'analytics',
|
|
795
|
+
git_branch: 'feature',
|
|
786
796
|
git_only: false,
|
|
787
797
|
};
|
|
788
798
|
|
|
789
|
-
render(
|
|
799
|
+
render(
|
|
800
|
+
<GitSettingsModal
|
|
801
|
+
{...defaultProps}
|
|
802
|
+
namespace="analytics.feature"
|
|
803
|
+
currentConfig={config}
|
|
804
|
+
/>,
|
|
805
|
+
);
|
|
790
806
|
|
|
791
807
|
const checkbox = screen.getByRole('checkbox');
|
|
792
808
|
expect(checkbox).not.toBeChecked();
|
|
@@ -794,43 +810,45 @@ describe('<GitSettingsModal />', () => {
|
|
|
794
810
|
|
|
795
811
|
it('should default path to nodes/ for new config', () => {
|
|
796
812
|
render(<GitSettingsModal {...defaultProps} />);
|
|
797
|
-
expect(screen.getByLabelText(
|
|
813
|
+
expect(screen.getByLabelText(/Path/)).toHaveValue('nodes/');
|
|
798
814
|
});
|
|
799
815
|
|
|
800
|
-
it('should
|
|
816
|
+
it('should not show git_only checkbox in git root mode for new config', () => {
|
|
801
817
|
render(<GitSettingsModal {...defaultProps} />);
|
|
802
|
-
|
|
803
|
-
expect(checkbox).
|
|
818
|
+
// Git root mode has no checkbox
|
|
819
|
+
expect(screen.queryByRole('checkbox')).not.toBeInTheDocument();
|
|
804
820
|
});
|
|
805
821
|
|
|
806
|
-
it('should call onSave when form is submitted', async () => {
|
|
822
|
+
it('should call onSave when git root form is submitted', async () => {
|
|
807
823
|
defaultProps.onSave.mockResolvedValue({ success: true });
|
|
808
824
|
|
|
809
825
|
render(<GitSettingsModal {...defaultProps} />);
|
|
810
826
|
|
|
811
|
-
await userEvent.type(screen.getByLabelText(
|
|
812
|
-
await userEvent.type(screen.getByLabelText('Branch'), 'main');
|
|
827
|
+
await userEvent.type(screen.getByLabelText(/Repository/), 'myorg/repo');
|
|
813
828
|
await userEvent.click(
|
|
814
829
|
screen.getByRole('button', { name: 'Save Settings' }),
|
|
815
830
|
);
|
|
816
831
|
|
|
817
832
|
await waitFor(() => {
|
|
818
833
|
expect(defaultProps.onSave).toHaveBeenCalledWith({
|
|
834
|
+
default_branch: 'main',
|
|
819
835
|
github_repo_path: 'myorg/repo',
|
|
820
|
-
git_branch: 'main',
|
|
821
836
|
git_path: 'nodes/',
|
|
822
|
-
git_only: true,
|
|
823
837
|
});
|
|
824
838
|
});
|
|
825
839
|
});
|
|
826
840
|
|
|
827
|
-
it('should call onSave with git_only
|
|
841
|
+
it('should call onSave with git_only when branch namespace form is submitted', async () => {
|
|
828
842
|
defaultProps.onSave.mockResolvedValue({ success: true });
|
|
829
843
|
|
|
830
|
-
render(
|
|
844
|
+
render(
|
|
845
|
+
<GitSettingsModal {...defaultProps} namespace="analytics.feature" />,
|
|
846
|
+
);
|
|
847
|
+
|
|
848
|
+
// Switch to branch mode
|
|
849
|
+
await userEvent.click(screen.getByText('Branch Namespace'));
|
|
831
850
|
|
|
832
|
-
await userEvent.type(screen.getByLabelText(
|
|
833
|
-
await userEvent.type(screen.getByLabelText('Branch'), 'main');
|
|
851
|
+
await userEvent.type(screen.getByLabelText(/Branch/), 'feature-x');
|
|
834
852
|
await userEvent.click(screen.getByRole('checkbox')); // Uncheck git_only
|
|
835
853
|
await userEvent.click(
|
|
836
854
|
screen.getByRole('button', { name: 'Save Settings' }),
|
|
@@ -838,9 +856,8 @@ describe('<GitSettingsModal />', () => {
|
|
|
838
856
|
|
|
839
857
|
await waitFor(() => {
|
|
840
858
|
expect(defaultProps.onSave).toHaveBeenCalledWith({
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
git_path: 'nodes/',
|
|
859
|
+
git_branch: 'feature-x',
|
|
860
|
+
parent_namespace: 'analytics',
|
|
844
861
|
git_only: false,
|
|
845
862
|
});
|
|
846
863
|
});
|
|
@@ -851,7 +868,7 @@ describe('<GitSettingsModal />', () => {
|
|
|
851
868
|
|
|
852
869
|
render(<GitSettingsModal {...defaultProps} />);
|
|
853
870
|
|
|
854
|
-
await userEvent.type(screen.getByLabelText(
|
|
871
|
+
await userEvent.type(screen.getByLabelText(/Repository/), 'myorg/repo');
|
|
855
872
|
await userEvent.click(
|
|
856
873
|
screen.getByRole('button', { name: 'Save Settings' }),
|
|
857
874
|
);
|
|
@@ -871,7 +888,7 @@ describe('<GitSettingsModal />', () => {
|
|
|
871
888
|
|
|
872
889
|
render(<GitSettingsModal {...defaultProps} />);
|
|
873
890
|
|
|
874
|
-
await userEvent.type(screen.getByLabelText(
|
|
891
|
+
await userEvent.type(screen.getByLabelText(/Repository/), 'invalid');
|
|
875
892
|
await userEvent.click(
|
|
876
893
|
screen.getByRole('button', { name: 'Save Settings' }),
|
|
877
894
|
);
|
|
@@ -886,7 +903,7 @@ describe('<GitSettingsModal />', () => {
|
|
|
886
903
|
|
|
887
904
|
render(<GitSettingsModal {...defaultProps} />);
|
|
888
905
|
|
|
889
|
-
await userEvent.type(screen.getByLabelText(
|
|
906
|
+
await userEvent.type(screen.getByLabelText(/Repository/), 'myorg/repo');
|
|
890
907
|
await userEvent.click(
|
|
891
908
|
screen.getByRole('button', { name: 'Save Settings' }),
|
|
892
909
|
);
|
|
@@ -901,7 +918,7 @@ describe('<GitSettingsModal />', () => {
|
|
|
901
918
|
|
|
902
919
|
render(<GitSettingsModal {...defaultProps} />);
|
|
903
920
|
|
|
904
|
-
await userEvent.type(screen.getByLabelText(
|
|
921
|
+
await userEvent.type(screen.getByLabelText(/Repository/), 'myorg/repo');
|
|
905
922
|
await userEvent.click(
|
|
906
923
|
screen.getByRole('button', { name: 'Save Settings' }),
|
|
907
924
|
);
|
|
@@ -913,9 +930,21 @@ describe('<GitSettingsModal />', () => {
|
|
|
913
930
|
});
|
|
914
931
|
});
|
|
915
932
|
|
|
916
|
-
it('should
|
|
933
|
+
it('should not show git-only checkbox in git root mode', async () => {
|
|
917
934
|
render(<GitSettingsModal {...defaultProps} />);
|
|
918
935
|
|
|
936
|
+
// Git root mode should not have git_only checkbox
|
|
937
|
+
expect(screen.queryByRole('checkbox')).not.toBeInTheDocument();
|
|
938
|
+
});
|
|
939
|
+
|
|
940
|
+
it('should toggle git-only checkbox in branch mode', async () => {
|
|
941
|
+
render(
|
|
942
|
+
<GitSettingsModal {...defaultProps} namespace="analytics.feature" />,
|
|
943
|
+
);
|
|
944
|
+
|
|
945
|
+
// Switch to branch mode
|
|
946
|
+
await userEvent.click(screen.getByText('Branch Namespace'));
|
|
947
|
+
|
|
919
948
|
const checkbox = screen.getByRole('checkbox');
|
|
920
949
|
expect(checkbox).toBeChecked(); // Default is true
|
|
921
950
|
|
|
@@ -956,7 +985,7 @@ describe('<GitSettingsModal />', () => {
|
|
|
956
985
|
|
|
957
986
|
render(<GitSettingsModal {...defaultProps} />);
|
|
958
987
|
|
|
959
|
-
await userEvent.type(screen.getByLabelText(
|
|
988
|
+
await userEvent.type(screen.getByLabelText(/Repository/), 'myorg/repo');
|
|
960
989
|
await userEvent.click(
|
|
961
990
|
screen.getByRole('button', { name: 'Save Settings' }),
|
|
962
991
|
);
|
|
@@ -973,7 +1002,7 @@ describe('<GitSettingsModal />', () => {
|
|
|
973
1002
|
|
|
974
1003
|
render(<GitSettingsModal {...defaultProps} />);
|
|
975
1004
|
|
|
976
|
-
await userEvent.type(screen.getByLabelText(
|
|
1005
|
+
await userEvent.type(screen.getByLabelText(/Repository/), 'myorg/repo');
|
|
977
1006
|
await userEvent.click(
|
|
978
1007
|
screen.getByRole('button', { name: 'Save Settings' }),
|
|
979
1008
|
);
|
|
@@ -992,7 +1021,7 @@ describe('<GitSettingsModal />', () => {
|
|
|
992
1021
|
it('should update path field', async () => {
|
|
993
1022
|
render(<GitSettingsModal {...defaultProps} />);
|
|
994
1023
|
|
|
995
|
-
const pathInput = screen.getByLabelText(
|
|
1024
|
+
const pathInput = screen.getByLabelText(/Path/);
|
|
996
1025
|
await userEvent.clear(pathInput);
|
|
997
1026
|
await userEvent.type(pathInput, 'definitions/');
|
|
998
1027
|
|
|
@@ -551,9 +551,9 @@ describe('<NamespaceHeader />', () => {
|
|
|
551
551
|
listDeployments: jest.fn().mockResolvedValue([]),
|
|
552
552
|
getNamespaceGitConfig: jest.fn().mockResolvedValue({
|
|
553
553
|
github_repo_path: 'test/repo',
|
|
554
|
-
git_branch: 'main',
|
|
555
554
|
git_path: 'nodes/',
|
|
556
|
-
|
|
555
|
+
default_branch: 'main',
|
|
556
|
+
// No git_branch or parent_namespace - this is a git root with default_branch
|
|
557
557
|
}),
|
|
558
558
|
};
|
|
559
559
|
|
|
@@ -565,7 +565,7 @@ describe('<NamespaceHeader />', () => {
|
|
|
565
565
|
</MemoryRouter>,
|
|
566
566
|
);
|
|
567
567
|
|
|
568
|
-
// For
|
|
568
|
+
// For git root namespaces with default_branch, button is labeled "New Branch"
|
|
569
569
|
await waitFor(() => {
|
|
570
570
|
expect(screen.getByText('New Branch')).toBeInTheDocument();
|
|
571
571
|
});
|
|
@@ -627,9 +627,9 @@ describe('<NamespaceHeader />', () => {
|
|
|
627
627
|
listDeployments: jest.fn().mockResolvedValue([]),
|
|
628
628
|
getNamespaceGitConfig: jest.fn().mockResolvedValue({
|
|
629
629
|
github_repo_path: 'test/repo',
|
|
630
|
-
git_branch: 'main',
|
|
631
630
|
git_path: 'nodes/',
|
|
632
|
-
|
|
631
|
+
default_branch: 'main',
|
|
632
|
+
// No git_branch or parent_namespace - this is a git root with default_branch
|
|
633
633
|
}),
|
|
634
634
|
};
|
|
635
635
|
|
|
@@ -710,9 +710,8 @@ describe('<NamespaceHeader />', () => {
|
|
|
710
710
|
getNamespaceGitConfig: jest.fn().mockResolvedValue(null),
|
|
711
711
|
updateNamespaceGitConfig: jest.fn().mockResolvedValue({
|
|
712
712
|
github_repo_path: 'myorg/repo',
|
|
713
|
-
git_branch: 'main',
|
|
714
713
|
git_path: 'nodes/',
|
|
715
|
-
git_only
|
|
714
|
+
// git_branch and git_only not present in git root config
|
|
716
715
|
}),
|
|
717
716
|
};
|
|
718
717
|
|
|
@@ -731,15 +730,13 @@ describe('<NamespaceHeader />', () => {
|
|
|
731
730
|
fireEvent.click(screen.getByText('Git Settings'));
|
|
732
731
|
|
|
733
732
|
await waitFor(() => {
|
|
734
|
-
expect(screen.getByLabelText(
|
|
733
|
+
expect(screen.getByLabelText(/Repository/)).toBeInTheDocument();
|
|
735
734
|
});
|
|
736
735
|
|
|
737
|
-
fireEvent.change(screen.getByLabelText(
|
|
736
|
+
fireEvent.change(screen.getByLabelText(/Repository/), {
|
|
738
737
|
target: { value: 'myorg/repo' },
|
|
739
738
|
});
|
|
740
|
-
|
|
741
|
-
target: { value: 'main' },
|
|
742
|
-
});
|
|
739
|
+
// Branch field is not present in git root mode
|
|
743
740
|
|
|
744
741
|
fireEvent.click(screen.getByText('Save Settings'));
|
|
745
742
|
|
|
@@ -748,7 +745,6 @@ describe('<NamespaceHeader />', () => {
|
|
|
748
745
|
'test.namespace',
|
|
749
746
|
expect.objectContaining({
|
|
750
747
|
github_repo_path: 'myorg/repo',
|
|
751
|
-
git_branch: 'main',
|
|
752
748
|
}),
|
|
753
749
|
);
|
|
754
750
|
});
|
|
@@ -767,13 +763,13 @@ describe('<NamespaceHeader />', () => {
|
|
|
767
763
|
listDeployments: jest.fn().mockResolvedValue([]),
|
|
768
764
|
getNamespaceGitConfig: jest.fn().mockResolvedValue({
|
|
769
765
|
github_repo_path: 'test/repo',
|
|
770
|
-
git_branch: 'main',
|
|
771
766
|
git_path: 'nodes/',
|
|
772
|
-
|
|
767
|
+
default_branch: 'main',
|
|
768
|
+
// No git_branch or parent_namespace - this is a git root
|
|
773
769
|
}),
|
|
774
770
|
createBranch: jest.fn().mockResolvedValue({
|
|
775
771
|
branch: {
|
|
776
|
-
namespace: 'test.feature_xyz',
|
|
772
|
+
namespace: 'test.namespace.feature_xyz',
|
|
777
773
|
git_branch: 'feature-xyz',
|
|
778
774
|
parent_namespace: 'test.namespace',
|
|
779
775
|
},
|
|
@@ -1,63 +1,30 @@
|
|
|
1
1
|
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
2
2
|
|
|
3
3
|
exports[`<NamespaceHeader /> should render and match the snapshot 1`] = `
|
|
4
|
-
<
|
|
5
|
-
style
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
"marginBottom": "16px",
|
|
14
|
-
"padding": "12px 12px 12px 20px",
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
>
|
|
4
|
+
<React.Fragment>
|
|
5
|
+
<style>
|
|
6
|
+
|
|
7
|
+
@keyframes spin {
|
|
8
|
+
from { transform: rotate(0deg); }
|
|
9
|
+
to { transform: rotate(360deg); }
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
</style>
|
|
18
13
|
<div
|
|
19
14
|
style={
|
|
20
15
|
Object {
|
|
21
16
|
"alignItems": "center",
|
|
17
|
+
"background": "#ffffff",
|
|
18
|
+
"borderBottom": "1px solid #e2e8f0",
|
|
19
|
+
"borderTop": "1px solid #e2e8f0",
|
|
22
20
|
"display": "flex",
|
|
23
|
-
"
|
|
21
|
+
"justifyContent": "space-between",
|
|
22
|
+
"marginBottom": "16px",
|
|
23
|
+
"padding": "12px 12px 12px 20px",
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
26
|
>
|
|
27
|
-
<
|
|
28
|
-
href="/"
|
|
29
|
-
style={
|
|
30
|
-
Object {
|
|
31
|
-
"alignItems": "center",
|
|
32
|
-
"display": "flex",
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
>
|
|
36
|
-
<svg
|
|
37
|
-
fill="currentColor"
|
|
38
|
-
height="16"
|
|
39
|
-
viewBox="0 0 16 16"
|
|
40
|
-
width="16"
|
|
41
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
42
|
-
>
|
|
43
|
-
<path
|
|
44
|
-
d="M8.186 1.113a.5.5 0 0 0-.372 0L1.846 3.5 8 5.961 14.154 3.5 8.186 1.113zM15 4.239l-6.5 2.6v7.922l6.5-2.6V4.24zM7.5 14.762V6.838L1 4.239v7.923l6.5 2.6zM7.443.184a1.5 1.5 0 0 1 1.114 0l7.129 2.852A.5.5 0 0 1 16 3.5v8.662a1 1 0 0 1-.629.928l-7.185 2.874a.5.5 0 0 1-.372 0L.63 13.09a1 1 0 0 1-.63-.928V3.5a.5.5 0 0 1 .314-.464L7.443.184z"
|
|
45
|
-
/>
|
|
46
|
-
</svg>
|
|
47
|
-
</a>
|
|
48
|
-
<svg
|
|
49
|
-
fill="#6c757d"
|
|
50
|
-
height="12"
|
|
51
|
-
viewBox="0 0 16 16"
|
|
52
|
-
width="12"
|
|
53
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
54
|
-
>
|
|
55
|
-
<path
|
|
56
|
-
d="M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z"
|
|
57
|
-
fillRule="evenodd"
|
|
58
|
-
/>
|
|
59
|
-
</svg>
|
|
60
|
-
<span
|
|
27
|
+
<div
|
|
61
28
|
style={
|
|
62
29
|
Object {
|
|
63
30
|
"alignItems": "center",
|
|
@@ -67,19 +34,28 @@ exports[`<NamespaceHeader /> should render and match the snapshot 1`] = `
|
|
|
67
34
|
}
|
|
68
35
|
>
|
|
69
36
|
<a
|
|
70
|
-
href="/
|
|
37
|
+
href="/"
|
|
71
38
|
style={
|
|
72
39
|
Object {
|
|
73
|
-
"
|
|
74
|
-
"
|
|
75
|
-
"textDecoration": "none",
|
|
40
|
+
"alignItems": "center",
|
|
41
|
+
"display": "flex",
|
|
76
42
|
}
|
|
77
43
|
}
|
|
78
44
|
>
|
|
79
|
-
|
|
45
|
+
<svg
|
|
46
|
+
fill="currentColor"
|
|
47
|
+
height="16"
|
|
48
|
+
viewBox="0 0 16 16"
|
|
49
|
+
width="16"
|
|
50
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
51
|
+
>
|
|
52
|
+
<path
|
|
53
|
+
d="M8.186 1.113a.5.5 0 0 0-.372 0L1.846 3.5 8 5.961 14.154 3.5 8.186 1.113zM15 4.239l-6.5 2.6v7.922l6.5-2.6V4.24zM7.5 14.762V6.838L1 4.239v7.923l6.5 2.6zM7.443.184a1.5 1.5 0 0 1 1.114 0l7.129 2.852A.5.5 0 0 1 16 3.5v8.662a1 1 0 0 1-.629.928l-7.185 2.874a.5.5 0 0 1-.372 0L.63 13.09a1 1 0 0 1-.63-.928V3.5a.5.5 0 0 1 .314-.464L7.443.184z"
|
|
54
|
+
/>
|
|
55
|
+
</svg>
|
|
80
56
|
</a>
|
|
81
57
|
<svg
|
|
82
|
-
fill="#
|
|
58
|
+
fill="#6c757d"
|
|
83
59
|
height="12"
|
|
84
60
|
viewBox="0 0 16 16"
|
|
85
61
|
width="12"
|
|
@@ -90,42 +66,98 @@ exports[`<NamespaceHeader /> should render and match the snapshot 1`] = `
|
|
|
90
66
|
fillRule="evenodd"
|
|
91
67
|
/>
|
|
92
68
|
</svg>
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
69
|
+
<span
|
|
70
|
+
style={
|
|
71
|
+
Object {
|
|
72
|
+
"alignItems": "center",
|
|
73
|
+
"display": "flex",
|
|
74
|
+
"gap": "8px",
|
|
75
|
+
}
|
|
100
76
|
}
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
77
|
+
>
|
|
78
|
+
<a
|
|
79
|
+
href="/namespaces/shared"
|
|
80
|
+
style={
|
|
81
|
+
Object {
|
|
82
|
+
"color": "#1e293b",
|
|
83
|
+
"fontWeight": "400",
|
|
84
|
+
"textDecoration": "none",
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
>
|
|
88
|
+
shared
|
|
89
|
+
</a>
|
|
90
|
+
<svg
|
|
91
|
+
fill="#94a3b8"
|
|
92
|
+
height="12"
|
|
93
|
+
viewBox="0 0 16 16"
|
|
94
|
+
width="12"
|
|
95
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
96
|
+
>
|
|
97
|
+
<path
|
|
98
|
+
d="M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z"
|
|
99
|
+
fillRule="evenodd"
|
|
100
|
+
/>
|
|
101
|
+
</svg>
|
|
102
|
+
</span>
|
|
103
|
+
<span
|
|
105
104
|
style={
|
|
106
105
|
Object {
|
|
107
|
-
"
|
|
108
|
-
"
|
|
109
|
-
"
|
|
106
|
+
"alignItems": "center",
|
|
107
|
+
"display": "flex",
|
|
108
|
+
"gap": "8px",
|
|
110
109
|
}
|
|
111
110
|
}
|
|
112
111
|
>
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
112
|
+
<a
|
|
113
|
+
href="/namespaces/shared.dimensions"
|
|
114
|
+
style={
|
|
115
|
+
Object {
|
|
116
|
+
"color": "#1e293b",
|
|
117
|
+
"fontWeight": "400",
|
|
118
|
+
"textDecoration": "none",
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
>
|
|
122
|
+
dimensions
|
|
123
|
+
</a>
|
|
124
|
+
<svg
|
|
125
|
+
fill="#94a3b8"
|
|
126
|
+
height="12"
|
|
127
|
+
viewBox="0 0 16 16"
|
|
128
|
+
width="12"
|
|
129
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
130
|
+
>
|
|
131
|
+
<path
|
|
132
|
+
d="M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z"
|
|
133
|
+
fillRule="evenodd"
|
|
134
|
+
/>
|
|
135
|
+
</svg>
|
|
136
|
+
</span>
|
|
137
|
+
<span
|
|
138
|
+
style={
|
|
139
|
+
Object {
|
|
140
|
+
"alignItems": "center",
|
|
141
|
+
"display": "flex",
|
|
142
|
+
"gap": "8px",
|
|
143
|
+
}
|
|
144
|
+
}
|
|
121
145
|
>
|
|
122
|
-
<
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
146
|
+
<a
|
|
147
|
+
href="/namespaces/shared.dimensions.accounts"
|
|
148
|
+
style={
|
|
149
|
+
Object {
|
|
150
|
+
"color": "#1e293b",
|
|
151
|
+
"fontWeight": "400",
|
|
152
|
+
"textDecoration": "none",
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
>
|
|
156
|
+
accounts
|
|
157
|
+
</a>
|
|
158
|
+
</span>
|
|
159
|
+
</div>
|
|
160
|
+
<div
|
|
129
161
|
style={
|
|
130
162
|
Object {
|
|
131
163
|
"alignItems": "center",
|
|
@@ -133,61 +165,39 @@ exports[`<NamespaceHeader /> should render and match the snapshot 1`] = `
|
|
|
133
165
|
"gap": "8px",
|
|
134
166
|
}
|
|
135
167
|
}
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
168
|
+
/>
|
|
169
|
+
<GitSettingsModal
|
|
170
|
+
currentConfig={null}
|
|
171
|
+
isOpen={false}
|
|
172
|
+
namespace="shared.dimensions.accounts"
|
|
173
|
+
onClose={[Function]}
|
|
174
|
+
onRemove={[Function]}
|
|
175
|
+
onSave={[Function]}
|
|
176
|
+
/>
|
|
177
|
+
<CreateBranchModal
|
|
178
|
+
isOpen={false}
|
|
179
|
+
namespace="shared.dimensions.accounts"
|
|
180
|
+
onClose={[Function]}
|
|
181
|
+
onCreate={[Function]}
|
|
182
|
+
/>
|
|
183
|
+
<SyncToGitModal
|
|
184
|
+
isOpen={false}
|
|
185
|
+
namespace="shared.dimensions.accounts"
|
|
186
|
+
onClose={[Function]}
|
|
187
|
+
onSync={[Function]}
|
|
188
|
+
/>
|
|
189
|
+
<CreatePRModal
|
|
190
|
+
isOpen={false}
|
|
191
|
+
namespace="shared.dimensions.accounts"
|
|
192
|
+
onClose={[Function]}
|
|
193
|
+
onCreate={[Function]}
|
|
194
|
+
/>
|
|
195
|
+
<DeleteBranchModal
|
|
196
|
+
isOpen={false}
|
|
197
|
+
namespace="shared.dimensions.accounts"
|
|
198
|
+
onClose={[Function]}
|
|
199
|
+
onDelete={[Function]}
|
|
200
|
+
/>
|
|
150
201
|
</div>
|
|
151
|
-
|
|
152
|
-
style={
|
|
153
|
-
Object {
|
|
154
|
-
"alignItems": "center",
|
|
155
|
-
"display": "flex",
|
|
156
|
-
"gap": "8px",
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
/>
|
|
160
|
-
<GitSettingsModal
|
|
161
|
-
currentConfig={null}
|
|
162
|
-
isOpen={false}
|
|
163
|
-
namespace="shared.dimensions.accounts"
|
|
164
|
-
onClose={[Function]}
|
|
165
|
-
onRemove={[Function]}
|
|
166
|
-
onSave={[Function]}
|
|
167
|
-
/>
|
|
168
|
-
<CreateBranchModal
|
|
169
|
-
isOpen={false}
|
|
170
|
-
namespace="shared.dimensions.accounts"
|
|
171
|
-
onClose={[Function]}
|
|
172
|
-
onCreate={[Function]}
|
|
173
|
-
/>
|
|
174
|
-
<SyncToGitModal
|
|
175
|
-
isOpen={false}
|
|
176
|
-
namespace="shared.dimensions.accounts"
|
|
177
|
-
onClose={[Function]}
|
|
178
|
-
onSync={[Function]}
|
|
179
|
-
/>
|
|
180
|
-
<CreatePRModal
|
|
181
|
-
isOpen={false}
|
|
182
|
-
namespace="shared.dimensions.accounts"
|
|
183
|
-
onClose={[Function]}
|
|
184
|
-
onCreate={[Function]}
|
|
185
|
-
/>
|
|
186
|
-
<DeleteBranchModal
|
|
187
|
-
isOpen={false}
|
|
188
|
-
namespace="shared.dimensions.accounts"
|
|
189
|
-
onClose={[Function]}
|
|
190
|
-
onDelete={[Function]}
|
|
191
|
-
/>
|
|
192
|
-
</div>
|
|
202
|
+
</React.Fragment>
|
|
193
203
|
`;
|