Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The app should be able to read all configuration & credential file settings #1

Open
maikbasel opened this issue Aug 27, 2023 · 0 comments

Comments

@maikbasel
Copy link
Owner

No description provided.

@maikbasel maikbasel self-assigned this Aug 29, 2023
@maikbasel maikbasel added this to the Load AWS Configuration milestone Oct 20, 2023
maikbasel added a commit that referenced this issue Oct 21, 2023
In order to make sure the Configuration struct can not be initialized
 without initializing the profiles HashMap, the field needs to be
 private. But since the profiles must also be accessible to other
 classes a getter method is required.

Refs: #1
maikbasel added a commit that referenced this issue Oct 21, 2023
maikbasel added a commit that referenced this issue Oct 27, 2023
maikbasel added a commit that referenced this issue Oct 27, 2023
Makes initialization less tedious.

Refs: #1
maikbasel added a commit that referenced this issue Oct 27, 2023
The Configuration will contain multiple profiles of which some may
are not read or parsable. Adding this field will enable the struct to
 keep an error_stack detailing any errors while loading any of the
 available profiles.

Refs: #1
maikbasel added a commit that referenced this issue Dec 11, 2023
maikbasel added a commit that referenced this issue Dec 11, 2023
maikbasel added a commit that referenced this issue Dec 12, 2023
maikbasel added a commit that referenced this issue Dec 12, 2023
maikbasel added a commit that referenced this issue Dec 13, 2023
maikbasel added a commit that referenced this issue Dec 19, 2023
maikbasel added a commit that referenced this issue Dec 21, 2023
This commit includes a new SidebarMenu component along with its tests
 and styling. It also introduces a new hook "useNavigation" which
 will handle active state for the navigation menu. The sidebar menu
 items include home and profiles options, with their icons changing
 based on the active state of the page.

Refs: #1
maikbasel added a commit that referenced this issue Dec 21, 2023
This commit standardizes the code syntax across multiple files to
improve readability and enforce certain code style rules. This
involves changes to import statements, adding semicolons to end of
lines, consistent use of single quotes for string literals, and
reformatting code for better clarity. Additionally, a "
.prettierignore" file has been added to ignore directories and files
that should not be formatted by Prettier.

Refs: #1
maikbasel added a commit that referenced this issue Dec 21, 2023
This commit includes updates to several package dependencies in the
package.json file, specifically related to TypeScript ESLint,
Prettier, and React plugins. Additionally, ESLint configuration in
.eslintrc.json file was extended with new best practices, rules,
parser options and environments.

Refs: #1
maikbasel added a commit that referenced this issue Dec 21, 2023
The Home and Configuration pages in the application and profiles
directories, respectively, have been updated with React imports. This
 is a necessary update for these components to use React
 functionalities.

Refs: #1
maikbasel added a commit that referenced this issue Dec 21, 2023
Included jest-junit in project dependencies with some configs
additions and exclusions. In more detail, it extended jest coverage
threshold, added jest-junit reporter for the Continuous Integration
flow and excluded reporting files from version control and formatting
. Additionally, new scripts for linting and testing in the package
.json were introduced.

Refs: #1
maikbasel added a commit that referenced this issue Dec 21, 2023
Simplified the SidebarMenu component by restructuring styles and text
 structures. Also refactored the SidebarMenu unit tests. Now, the
 mockUseNavigation function returns an object directly instead of
 using a mockImplementation call, providing clearer and more concise
 testing code. This ensures better readability and maintainability
 going forward.

Refs: #1
maikbasel added a commit that referenced this issue Dec 21, 2023
This commit corrects the class value ordering in 'SidebarMenu.test
.tsx.snap'. Changes are made to ensure proper syntax and boost
performance. Now, all classes align with the recommended format, that
 is, positioning operators should always come last.

Refs: #1
maikbasel added a commit that referenced this issue Jan 9, 2024
Modified the layout styles in layout.tsx, page.tsx, and profiles/page
.tsx files for better screen management. The updates aim to offer
improvement in user interface design and provide a cleaner look to
the application. The style changes include handling overflow elements
 and spacing adjustments, greatly enhancing the app's general layout.

Refs: #1
maikbasel added a commit that referenced this issue Jan 9, 2024
Deleted unnecessary ProfileAPI from 'core' folder in the path
'src-tauri/src/profile' and refactored dependent code across multiple
 files. This move simplified the codebase and reduced dependencies
 between modules while maintaining its functionality. The refactoring
  includes changes in the main.rs, profile/core/domain.rs, and
  profile/application/tauri/profile_handler.rs files.

Refs: #1
maikbasel added a commit that referenced this issue Jan 12, 2024
New test cases have been added for the
sidebar component checking for successful rendering, toggle
functionality verification, and validation of transition application
to navigation when the toggle button is clicked.

Refs: #1
maikbasel added a commit that referenced this issue Jan 12, 2024
The useProfile hook from the dashboard section has been removed as no
 longer needed. This hook was originally intended for fetching
 profile data, but has been determined to be superfluous.

Refs: #1
maikbasel added a commit that referenced this issue Jan 13, 2024
The commit modifies how useState and useEffect from React are
utilized within the SideNav component to be able to mock those
functions. Additionally, test cases for the SideNav component have
been added, improving the test coverage of the dashboard's sidebar
functionality. The naming strategy for test files has also been
slightly adjusted, ensuring consistency in descriptor usage.

Refs: #1
maikbasel added a commit that referenced this issue Jan 13, 2024
…ldren' in side-nav

Fixed a typo in the property name 'isChidren', correcting it to
'hasChildren'. This change clarifies the property's purpose in the
NavItem interface and fixes how it is being evaluated in the SideNav
component.

Refs: #1
maikbasel added a commit that referenced this issue Jan 13, 2024
… items

Test descriptions were updated to more accurately describe their
purpose. New tests were added to check the rendering and interaction
of navigation items that have child items. This ensures proper
rendering and behavior for both standalone and nested navigation items.

Refs: #1
maikbasel added a commit that referenced this issue Jan 13, 2024
The function useEffect in the side-nav.tsx file's dependencies have
been updated. The dependencies now include isOpen, openItem, and
lastOpenItem. This is to ensure the function accurately tracks
changes in these state variables and reacts accordingly.

Refs: #1
maikbasel added a commit that referenced this issue Jan 15, 2024
Improved the 'cn' function's documentation in the 'utils.ts' file to
provide clearer understanding of its use and parameters.

Refs: #1
maikbasel added a commit that referenced this issue Jan 15, 2024
This commit refactors the SideNav component tests by removing the
child items test (as they don't work) and adding a new feature to
test the current path matching with the navigation item's href. The
test checks if the matched navigation item has distinguishing visual
characteristics, thus maintaining code hygiene and efficiency.

Refs: #1
maikbasel added a commit that referenced this issue Jan 15, 2024
This commit adds unit tests for the ProfileNav component and includes
 the "@testing-library/user-event" library to simulate user
 interactions in the tests. Furthermore, it refactors the ProfileNav
 component to facilitate testing by adding a "data-testid" attribute.

Refs: #1
maikbasel added a commit that referenced this issue Jan 15, 2024
The test description for the ProfileNav component has been updated to
 more accurately reflect the testing action. Previously, it stated
 "trigger state change", but the purpose of the test is really to
 check if the profile navigation expands when the dropdown is clicked.

Refs: #1
maikbasel added a commit that referenced this issue Jan 17, 2024
This commit updates the ProfileNav component, replacing 'accessKeyId'
 with 'output_format'. It tweaks the related interfaces and types for
  'Config' and 'Credentials'. In the test file, new tests on icon
  changes have been introduced and existing tests have been cleaned
  up to align with the component changes.

Refs: #1
maikbasel added a commit that referenced this issue Jan 19, 2024
The commit adds two test cases to ensure that placeholders are
displayed in ProfileNav for missing optional values of region and
format label.

Refs: #1
maikbasel added a commit that referenced this issue Jan 19, 2024
Introduce and employ 'useProfile' hook in 'ProfileNav' to organize
profile state management. Changes include removal of 'currentProfile'
 state variable in favor of state provided by custom hook,
 modifications in method calls and variable usage to align with the
 new state organization. This aims to make the current profile state
 accessible for other components as well.

Refs: #1
maikbasel added a commit that referenced this issue Jan 19, 2024
…leanup

The tests in ProfileNav have been refactored to use SWRConfig instead
 of ProfileProvider directly. This facilitates a more efficient
 management of cache and global state. Additionally, the cleanup
 function imported from '@testing-library/react' is no longer used
 and removed, as cleanup is automatically handled by the testing
 library.

Refs: #1
maikbasel added a commit that referenced this issue Jan 19, 2024
…ofileNav

The test verifies that the clicked profile is selected as the current
 profile when a profile nav item is clicked.

Refs: #1
maikbasel added a commit that referenced this issue Jan 19, 2024
Added `data-testid` attributes to headers in both the dashboard and
mobile sidebar for better testability. Created `header.test.tsx` to
ensure headers render without crashing.

Refs: #1
maikbasel added a commit that referenced this issue Jan 19, 2024
Adjusted the jest coverage collection paths to exclude the
'theme-provider.tsx' file, in order to have a more accurate test
coverage report. The 'theme-provider.tsx' file was excluded because
it is only a wrapper for NextThemesProvider.

Refs: #1
maikbasel added a commit that referenced this issue Jan 19, 2024
Implemented unit tests for the ThemeToggle component in the dashboard
. These tests verify that the theme successfully toggles between
light and dark modes. Also, mocks are added for window.matchMedia and
 localStorage for thorough testing.

Refs: #1
maikbasel added a commit that referenced this issue Jan 19, 2024
ProfileSet type and its associated schema were moved from the
profile-nav.tsx file to a new file in the profiles domain directory.
This change enhances code organization by grouping related
functionalities together. It also enables reusability of the
ProfileSet type.

Refs: #1
maikbasel added a commit that referenced this issue Jan 20, 2024
DataTable, Select, and Checkbox components were added to the UI
components library. These new components offer additional
interactions for table data such as pagination, sorting, and the
option to select rows. The DataTablePagination and
DataTableViewOptions components were also added to offer a more
interactive table experience. Additional dependencies were included
for these components to function properly.

Refs: #1
maikbasel added a commit that referenced this issue Jan 21, 2024
Added a set of key user-interface components including DataTable, Select, Checkbox, DataTablePagination, and DataTableViewOptions. These new components facilitate user interactions with table data, such as row selection, pagination, and sorting. Additional dependencies were integrated for the functionality of these components.

Refs: #1
maikbasel added a commit that referenced this issue Jan 21, 2024
Introduced a new breadcrumb component, which allows for better
navigation within the app by providing a hierarchical structure of
the website. This new file includes the necessary types, imports, and
 functional definition. Users can use this feature to easily navigate
  back and forth between their dashboard and other areas of the
  application.

Refs: #1
maikbasel added a commit that referenced this issue Jan 21, 2024
Added a new 'ProfileDataTable' component to display user profiles.
This component flattens the returned profile set for easy processing
and rendering. Updates have also been made to the profiles and
dashboard test files to accommodate this addition. Implemented
breadcrumb navigation for the profiles page for improved user
experience.

Refs: #1
maikbasel added a commit that referenced this issue Feb 21, 2024
In the breadcrumb component, the 'role' attribute is added to the
'ChevronRightIcon' separator for improved accessibility. Alongside
this, a new testing file (breadcrumb.test.tsx) is created to verify
the functionality of the Breadcrumb component, including that the
correct number of items are rendered, and separators are present
between items.

Refs: #1
maikbasel added a commit that referenced this issue Feb 21, 2024
maikbasel added a commit that referenced this issue Feb 23, 2024
maikbasel added a commit that referenced this issue Feb 23, 2024
@maikbasel maikbasel removed their assignment May 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant