Adds gSheet specific entity read

This commit is contained in:
forceoranj
2021-11-14 01:44:11 +01:00
parent 193f51b54d
commit c33b9d8f79
43 changed files with 546 additions and 418 deletions

View File

@@ -1,27 +0,0 @@
/**
* @jest-environment jsdom
*/
import { render } from "@testing-library/react"
import { MemoryRouter } from "react-router-dom"
import Info from "../index"
describe("<Info />", () => {
it("renders", () => {
const tree = render(
<MemoryRouter>
<Info
item={{
membreId: 1,
name: "PeL",
phone: "+886 0970...",
email: "forceoranj@gmail.com",
website: "https://www.parisestludique.fr",
}}
/>
</MemoryRouter>
).container.firstChild
expect(tree).toMatchSnapshot()
})
})

View File

@@ -1,29 +0,0 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`<Info /> renders 1`] = `
<div
class="UserCard"
>
<h4>
User Info
</h4>
<ul>
<li>
Name:
PeL
</li>
<li>
Phone:
+886 0970...
</li>
<li>
Email:
forceoranj@gmail.com
</li>
<li>
Website:
https://www.parisestludique.fr
</li>
</ul>
</div>
`;

View File

@@ -1,22 +0,0 @@
import { memo } from "react"
import { User } from "../../services/jsonPlaceholder"
import styles from "./styles.module.scss"
interface Props {
item: User
}
const Info = ({ item }: Props) => (
<div className={styles.UserCard}>
<h4>User Info</h4>
<ul>
<li>Name: {item.name}</li>
<li>Phone: {item.phone}</li>
<li>Email: {item.email}</li>
<li>Website: {item.website}</li>
</ul>
</div>
)
export default memo(Info)

View File

@@ -5,7 +5,7 @@ import { render } from "@testing-library/react"
import { MemoryRouter } from "react-router-dom"
import mockStore from "../../../utils/mockStore"
import List from "../index"
import JeuJavList from "../index"
describe("<List />", () => {
const renderHelper = (reducer = { readyStatus: "idle" }) => {
@@ -13,7 +13,7 @@ describe("<List />", () => {
const { container } = render(
<ProviderWithStore>
<MemoryRouter>
<List ids={[5]} />
<JeuJavList ids={[5]} />
</MemoryRouter>
</ProviderWithStore>
)

View File

@@ -10,7 +10,7 @@ interface Props {
ids: EntityId[]
}
const List = ({ ids }: Props) => {
const JeuJavList = ({ ids }: Props) => {
const { entities: jeuxJav } = useSelector((state: AppState) => state.jeuJavList, shallowEqual)
return (
<div className={styles.JeuJavList}>
@@ -33,4 +33,4 @@ const List = ({ ids }: Props) => {
)
}
export default memo(List)
export default memo(JeuJavList)

View File

@@ -1,29 +0,0 @@
/**
* @jest-environment jsdom
*/
import { render } from "@testing-library/react"
import { MemoryRouter } from "react-router-dom"
import List from "../index"
describe("<List />", () => {
it("renders", () => {
const tree = render(
<MemoryRouter>
<List
items={[
{
membreId: 1,
name: "PeL",
phone: "+886 0970...",
email: "forceoranj@gmail.com",
website: "https://www.parisestludique.fr",
},
]}
/>
</MemoryRouter>
).container.firstChild
expect(tree).toMatchSnapshot()
})
})

View File

@@ -1,20 +0,0 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`<List /> renders 1`] = `
<div
class="UserList"
>
<h4>
User List
</h4>
<ul>
<li>
<a
href="/UserInfo/1"
>
PeL
</a>
</li>
</ul>
</div>
`;

View File

@@ -1,24 +0,0 @@
import { memo } from "react"
import { Link } from "react-router-dom"
import { User } from "../../services/jsonPlaceholder"
import styles from "./styles.module.scss"
interface Props {
items: User[]
}
const List = ({ items }: Props) => (
<div className={styles.UserList}>
<h4>User List</h4>
<ul>
{items.map(({ membreId, name }) => (
<li key={membreId}>
<Link to={`/UserInfo/${membreId}`}>{name}</Link>
</li>
))}
</ul>
</div>
)
export default memo(List)

View File

@@ -0,0 +1,35 @@
/**
* @jest-environment jsdom
*/
import { render } from "@testing-library/react"
import { MemoryRouter } from "react-router-dom"
import MembreInfo from "../index"
describe("<MembreInfo />", () => {
it("renders", () => {
const tree = render(
<MemoryRouter>
<MembreInfo
item={{
id: 1,
nom: "Aupeix",
prenom: "Amélie",
mail: "pakouille.lakouille@yahoo.fr",
telephone: "0675650392",
photo: "images/membres/$taille/amélie_aupeix.jpg",
alimentation: "Végétarien",
majeur: 1,
privilege: 0,
actif: 0,
commentaire: "",
horodatage: "0000-00-00",
passe: "$2y$10$fSxY9AIuxSiEjwF.J3eXGubIxUPlobkyRrNIal8ASimSjNj4SR.9O",
}}
/>
</MemoryRouter>
).container.firstChild
expect(tree).toMatchSnapshot()
})
})

View File

@@ -0,0 +1,21 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`<MembreInfo /> renders 1`] = `
<div
class="MembreCard"
>
<h4>
Membre Info
</h4>
<ul>
<li>
Prénom:
Amélie
</li>
<li>
Nom:
Aupeix
</li>
</ul>
</div>
`;

View File

@@ -0,0 +1,20 @@
import { memo } from "react"
import { Membre } from "../../services/membres"
import styles from "./styles.module.scss"
interface Props {
item: Membre
}
const MembreInfo = ({ item }: Props) => (
<div className={styles.MembreCard}>
<h4>Membre Info</h4>
<ul>
<li>Prénom: {item.prenom}</li>
<li>Nom: {item.nom}</li>
</ul>
</div>
)
export default memo(MembreInfo)

View File

@@ -1,4 +1,4 @@
.user-card {
.membre-card {
ul {
padding-left: 17px;

View File

@@ -0,0 +1,37 @@
/**
* @jest-environment jsdom
*/
import { render } from "@testing-library/react"
import { MemoryRouter } from "react-router-dom"
import MembreList from "../index"
describe("<MembreList />", () => {
it("renders", () => {
const tree = render(
<MemoryRouter>
<MembreList
items={[
{
id: 1,
nom: "Aupeix",
prenom: "Amélie",
mail: "pakouille.lakouille@yahoo.fr",
telephone: "0675650392",
photo: "images/membres/$taille/amélie_aupeix.jpg",
alimentation: "Végétarien",
majeur: 1,
privilege: 0,
actif: 0,
commentaire: "",
horodatage: "0000-00-00",
passe: "$2y$10$fSxY9AIuxSiEjwF.J3eXGubIxUPlobkyRrNIal8ASimSjNj4SR.9O",
},
]}
/>
</MemoryRouter>
).container.firstChild
expect(tree).toMatchSnapshot()
})
})

View File

@@ -0,0 +1,24 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`<MembreList /> renders 1`] = `
<div
class="MembreList"
>
<h4>
Membre List
</h4>
<ul>
<li>
<a
href="/Membre/1"
>
<b>
Amélie
</b>
Aupeix
</a>
</li>
</ul>
</div>
`;

View File

@@ -0,0 +1,26 @@
import { memo } from "react"
import { Link } from "react-router-dom"
import { Membre } from "../../services/membres"
import styles from "./styles.module.scss"
interface Props {
items: Membre[]
}
const MembreList = ({ items }: Props) => (
<div className={styles.MembreList}>
<h4>Membre List</h4>
<ul>
{items.map(({ id, nom, prenom }) => (
<li key={id}>
<Link to={`/Membre/${id}`}>
<b>{prenom}</b> {nom}
</Link>
</li>
))}
</ul>
</div>
)
export default memo(MembreList)

View File

@@ -1,8 +1,8 @@
import List from "./List"
import MembreList from "./MembreList"
import JeuJavList from "./JeuJavList"
import Info from "./Info"
import MembreInfo from "./MembreInfo"
import ErrorBoundary from "./ErrorBoundary"
import Loading from "./Loading"
import AddEnvie from "./AddEnvie"
export { List, JeuJavList, Info, ErrorBoundary, Loading, AddEnvie }
export { MembreList, JeuJavList, MembreInfo, ErrorBoundary, Loading, AddEnvie }