-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Signed-off-by: Giuseppe Macri <[email protected]>
- Loading branch information
Giuseppe Macri
committed
Nov 15, 2023
1 parent
433be5b
commit ca475f8
Showing
34 changed files
with
832 additions
and
622 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -52,12 +52,12 @@ cd kepler.gl | |
# Add the main kepler.gl repository as an upstream remote to your repository: | ||
git remote add upstream "[email protected]:keplergl/kepler.gl.git" | ||
|
||
# Install JavaScript dependencies: | ||
yarn bootstrap | ||
|
||
# Install Puppeteer | ||
yarn global add puppeteer | ||
|
||
# Install JavaScript dependencies: | ||
yarn bootstrap | ||
|
||
# Setup mapbox access token locally | ||
export MapboxAccessToken=<insert_your_token> | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
59 changes: 59 additions & 0 deletions
59
src/components/src/modals/cloud-components/cloud-item.spec.tsx
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
// @ts-nocheck | ||
|
||
//colocating test next the file | ||
import React from 'react'; | ||
import {fireEvent} from '@testing-library/react'; | ||
import {renderWithTheme} from '../../../../../test/helpers/component-jest-utils'; | ||
|
||
import {CloudItem} from './cloud-item'; | ||
import moment from 'moment'; | ||
|
||
describe('CloudItem', () => { | ||
const mockVis = { | ||
title: 'Test Title', | ||
description: 'Test Description', | ||
lastModification: new Date().toISOString(), | ||
thumbnail: 'test-thumbnail.jpg', | ||
privateMap: true | ||
}; | ||
|
||
it('renders without crashing', () => { | ||
const {getByText} = renderWithTheme(<CloudItem vis={mockVis} onClick={() => {}} />); | ||
expect(getByText('Test Title')).toBeInTheDocument(); | ||
}); | ||
|
||
it('renders PrivacyBadge for private maps', () => { | ||
const {getByText} = renderWithTheme(<CloudItem vis={{...mockVis, privateMap: true}} onClick={() => {}} />); | ||
expect(getByText('Private')).toBeInTheDocument(); | ||
}); | ||
|
||
it('does not render PrivacyBadge for public maps', () => { | ||
const {queryByText} = renderWithTheme(<CloudItem vis={{...mockVis, privateMap: false}} onClick={() => {}} />); | ||
expect(queryByText('Private')).toBeNull(); | ||
}); | ||
|
||
it('displays correct thumbnail image', () => { | ||
const {getByRole} = renderWithTheme(<CloudItem vis={mockVis} onClick={() => {}} />); | ||
expect(getByRole('thumbnail-wrapper').style.backgroundImage).toContain('test-thumbnail.jpg'); | ||
}); | ||
|
||
it('displays MapIcon when no thumbnail is provided', () => { | ||
const {getByRole} = renderWithTheme(<CloudItem vis={{...mockVis, thumbnail: null}} onClick={() => {}} />); | ||
expect(getByRole('map-icon')).toBeInTheDocument(); | ||
}); | ||
|
||
it('displays title, description, and last modification date', () => { | ||
const {getByText} = renderWithTheme(<CloudItem vis={mockVis} onClick={() => {}} />); | ||
expect(getByText('Test Title')).toBeInTheDocument(); | ||
expect(getByText('Test Description')).toBeInTheDocument(); | ||
expect(getByText(`Last modified ${moment.utc(mockVis.lastModification).fromNow()}`)).toBeInTheDocument(); | ||
}); | ||
|
||
it('calls onClick when component is clicked', () => { | ||
const onClickMock = jest.fn(); | ||
const {getByText} = renderWithTheme(<CloudItem vis={mockVis} onClick={onClickMock} />); | ||
fireEvent.click(getByText('Test Title')); | ||
expect(onClickMock).toHaveBeenCalled(); | ||
}); | ||
}); | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
46 changes: 46 additions & 0 deletions
46
src/components/src/modals/cloud-components/cloud-maps.spec.tsx
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
// @ts-nocheck | ||
import React from 'react'; | ||
import {fireEvent} from '@testing-library/react'; | ||
import {renderWithTheme} from '../../../../../test/helpers/component-jest-utils'; | ||
import {CloudMaps} from './cloud-maps'; | ||
|
||
describe('CloudMaps Component', () => { | ||
it('renderWithThemes without crashing', () => { | ||
const {getByText} = renderWithTheme(<CloudMaps isLoading={false} maps={[]} error={null} />); | ||
expect(getByText(/noSavedMaps/i)).toBeInTheDocument(); | ||
}); | ||
|
||
it('displays error message when there is an error', () => { | ||
const errorMessage = 'Test Error'; | ||
const {getByText} = renderWithTheme(<CloudMaps isLoading={false} maps={[]} error={{ message: errorMessage }} />); | ||
expect(getByText(`Error while fetching maps: ${errorMessage}`)).toBeInTheDocument(); | ||
}); | ||
|
||
it('displays loading spinner when isLoading is true', () => { | ||
const {getByText} = renderWithTheme(<CloudMaps isLoading={true} maps={[]} error={null} />); | ||
expect(getByText('modal.loadingDialog.loading')).toBeInTheDocument(); // Ensure your spinner has 'data-testid="loading-spinner"' | ||
}); | ||
|
||
it('renderWithThemes correct number of CloudItems based on maps prop', () => { | ||
const mockMaps = [{ id: 1, title: 'map' }, { id: 2, title: 'map' }, { id: 3, title: 'map' }]; | ||
const {getAllByText} = renderWithTheme(<CloudMaps isLoading={false} maps={mockMaps} error={null} />); | ||
expect(getAllByText('map')).toHaveLength(mockMaps.length); // Ensure your CloudItem has 'data-testid="cloud-item"' | ||
}); | ||
|
||
it('displays message when there are no maps', () => { | ||
const {getByText} = renderWithTheme(<CloudMaps isLoading={false} maps={[]} error={null} />); | ||
expect(getByText(/noSavedMaps/i)).toBeInTheDocument(); | ||
}); | ||
|
||
it('calls onSelectMap when a CloudItem is clicked', () => { | ||
const mockMaps = [{ id: 1, title: 'map' }, { id: 2, title: 'map' }, { id: 3, title: 'map' }]; | ||
const onSelectMap = jest.fn(); | ||
const provider = 'testProvider'; | ||
const {getAllByText} = renderWithTheme(<CloudMaps provider={provider} onSelectMap={onSelectMap} isLoading={false} maps={mockMaps} error={null} />); | ||
|
||
const firstItem = getAllByText('map')[0]; | ||
fireEvent.click(firstItem); | ||
expect(onSelectMap).toHaveBeenCalledWith(provider, mockMaps[0]); | ||
}); | ||
}); | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.