From 6402d3950fbf1695dc298170eb2b206fe8e35ec8 Mon Sep 17 00:00:00 2001 From: Anna Date: Fri, 24 Jan 2025 12:13:46 -0500 Subject: [PATCH] tests --- frontend/public/src/components/Header.js | 6 +++++- frontend/public/src/components/TopBar.js | 3 +-- frontend/public/src/components/TopBar_test.js | 6 ++++-- frontend/public/src/containers/App.js | 15 ++++++++------- frontend/public/src/containers/HeaderApp.js | 11 +++++++---- frontend/public/src/lib/queries/cart.js | 6 ++++-- frontend/public/src/lib/queries/courseRuns.js | 1 - 7 files changed, 29 insertions(+), 19 deletions(-) diff --git a/frontend/public/src/components/Header.js b/frontend/public/src/components/Header.js index 13a2b4d4dc..2181d0cda8 100644 --- a/frontend/public/src/components/Header.js +++ b/frontend/public/src/components/Header.js @@ -31,7 +31,11 @@ const Header = ({ currentUser, cartItemsCount, location }: Props) => { } return ( - + ) } diff --git a/frontend/public/src/components/TopBar.js b/frontend/public/src/components/TopBar.js index 6c14c93f16..71eb585f3f 100644 --- a/frontend/public/src/components/TopBar.js +++ b/frontend/public/src/components/TopBar.js @@ -18,7 +18,7 @@ type Props = { location: ?Location } -const TopBar = ({ currentUser, cartItemsCount }: Props) => { +const TopBar = ({ currentUser, cartItemsCount }: Props) => { // Delay any alert displayed on page-load by 500ms in order to // ensure the alert is read by screen readers. const [showComponent, setShowComponent] = useState(false) @@ -36,7 +36,6 @@ const TopBar = ({ currentUser, cartItemsCount }: Props) => { currentUser.id : "anonymousUser" ) - console.log(cartItemsCount) return (
{showComponent ? ( diff --git a/frontend/public/src/components/TopBar_test.js b/frontend/public/src/components/TopBar_test.js index 549e5fb414..472b4238bb 100644 --- a/frontend/public/src/components/TopBar_test.js +++ b/frontend/public/src/components/TopBar_test.js @@ -9,10 +9,11 @@ import { makeUser, makeAnonymousUser } from "../factories/user" describe("TopBar component", () => { describe("for anonymous users", () => { const user = makeAnonymousUser() + const cartItemsCount = 0 it("has an AnonymousMenu component", () => { assert.isOk( - shallow() + shallow() .find("AnonymousMenu") .exists() ) @@ -21,9 +22,10 @@ describe("TopBar component", () => { describe("for logged in users", () => { const user = makeUser() + const cartItemsCount = 3 it("has a UserMenu component", () => { assert.isOk( - shallow() + shallow() .find("UserMenu") .exists() ) diff --git a/frontend/public/src/containers/App.js b/frontend/public/src/containers/App.js index 1b38cd7752..0189997d6a 100644 --- a/frontend/public/src/containers/App.js +++ b/frontend/public/src/containers/App.js @@ -34,7 +34,7 @@ import type { Match, Location } from "react-router" import type { CurrentUser } from "../flow/authTypes" import { cartItemsCountQuery, - cartItemsCountSelector, + cartItemsCountSelector } from "../lib/queries/cart" type Props = { @@ -72,7 +72,11 @@ export class App extends React.Component { return (
-
+
{ const mapStateToProps = createStructuredSelector({ currentUser: currentUserSelector, - cartItemsCount: cartItemsCountSelector, + cartItemsCount: cartItemsCountSelector }) const mapDispatchToProps = { addUserNotification } -const mapPropsToConfig = () => [ - cartItemsCountQuery(), - users.currentUserQuery() -] +const mapPropsToConfig = () => [cartItemsCountQuery(), users.currentUserQuery()] export default compose( connect(mapStateToProps, mapDispatchToProps), connectRequest(mapPropsToConfig) diff --git a/frontend/public/src/containers/HeaderApp.js b/frontend/public/src/containers/HeaderApp.js index fc3fb44be1..baf26133ce 100644 --- a/frontend/public/src/containers/HeaderApp.js +++ b/frontend/public/src/containers/HeaderApp.js @@ -15,9 +15,11 @@ import { import type { Store } from "redux" import type { CurrentUser } from "../flow/authTypes" +import {cartItemsCountQuery, cartItemsCountSelector} from "../lib/queries/cart"; type Props = { currentUser: ?CurrentUser, + cartItemsCount: number, store: Store<*, *>, addUserNotification: Function } @@ -41,22 +43,23 @@ export class HeaderApp extends React.Component { } render() { - const { currentUser } = this.props + const { currentUser, cartItemsCount } = this.props if (!currentUser) { // application is still loading return
} - return
+ return
} } const mapStateToProps = createStructuredSelector({ - currentUser: currentUserSelector + currentUser: currentUserSelector, + cartItemsCount: cartItemsCountSelector }) -const mapPropsToConfig = () => [users.currentUserQuery()] +const mapPropsToConfig = () => [cartItemsCountQuery(), users.currentUserQuery()] const mapDispatchToProps = { addUserNotification diff --git a/frontend/public/src/lib/queries/cart.js b/frontend/public/src/lib/queries/cart.js index a0ce8ababc..eb5c75c224 100644 --- a/frontend/public/src/lib/queries/cart.js +++ b/frontend/public/src/lib/queries/cart.js @@ -5,8 +5,10 @@ import { getCsrfOptions, nextState } from "./util" export const cartSelector = pathOr(null, ["entities", "cartItems"]) export const totalPriceSelector = pathOr(null, ["entities", "totalPrice"]) export const orderHistorySelector = pathOr(null, ["entities", "orderHistory"]) -export const cartItemsCountSelector = pathOr(null, ["entities", "cartItemsCount"]) - +export const cartItemsCountSelector = pathOr(null, [ + "entities", + "cartItemsCount" +]) export const discountedPriceSelector = pathOr(null, [ "entities", diff --git a/frontend/public/src/lib/queries/courseRuns.js b/frontend/public/src/lib/queries/courseRuns.js index e928ce5d84..d3e56d9b9f 100644 --- a/frontend/public/src/lib/queries/courseRuns.js +++ b/frontend/public/src/lib/queries/courseRuns.js @@ -32,7 +32,6 @@ export const coursesQuery = (courseKey: string = "") => ({ } }) - // This will need to be updated to v2 once we get the courses endpoint to allow for multiple ID query export const programsQuery = (programKey: string = "") => ({ queryKey: programsQueryKey,