diff --git a/frontend/src/views/DoctorOrders/NewOrders/NewOrders.test.tsx b/frontend/src/views/DoctorOrders/NewOrders/NewOrders.test.tsx
index 3004e37..51dd590 100644
--- a/frontend/src/views/DoctorOrders/NewOrders/NewOrders.test.tsx
+++ b/frontend/src/views/DoctorOrders/NewOrders/NewOrders.test.tsx
@@ -1,9 +1,18 @@
import React from 'react';
-import { render, screen } from '@testing-library/react';
+import { render, screen, waitFor } from '@testing-library/react';
import NewOrders from './NewOrders';
+import axios from 'axios';
-test('renders NewOrders', () => {
- render();
- const linkElement = screen.getByText(/NewOrders/i);
- expect(linkElement).toBeInTheDocument();
+jest.mock('axios');
+describe('', () => {
+
+ it('renders the order card with no doctor orders', async () => {
+ axios.get = jest.fn().mockImplementationOnce(() => Promise.resolve({ data: [] }));
+ render();
+
+ await waitFor(() => {
+ const linkElement = screen.getByText(/NewOrders/i);
+ expect(linkElement).toBeInTheDocument();
+ });
+ });
});
\ No newline at end of file
diff --git a/frontend/src/views/DoctorOrders/OrderCard/OrderCard.test.tsx b/frontend/src/views/DoctorOrders/OrderCard/OrderCard.test.tsx
index 90bd1eb..f7a1888 100644
--- a/frontend/src/views/DoctorOrders/OrderCard/OrderCard.test.tsx
+++ b/frontend/src/views/DoctorOrders/OrderCard/OrderCard.test.tsx
@@ -1,9 +1,62 @@
import React from 'react';
-import { render, screen } from '@testing-library/react';
+import { render, screen, waitFor } from '@testing-library/react';
import OrderCard from './OrderCard';
+import axios from 'axios';
-test.skip('renders Status', () => {
- render();
- const linkElement = screen.getByText("Total");
- expect(linkElement).toBeInTheDocument();
+const doctorOrders = [{caseNumber: '1694010494795',
+ dispenseStatus: 'Pending',
+ doctorContact: '716-873-1557',
+ doctorEmail: 'jane.betty@myhospital.com',
+ doctorID: '1122334455',
+ doctorName: 'Dr. Jane Doe',
+ drugNames:'Turalio 200 MG Oral Capsule',
+ drugNdcCode: '65597-402-20',
+ drugPrice: 200,
+ metRequirements: [],
+ patientCity: 'Winterfell',
+ patientCountry: 'US',
+ patientDOB: '1996-06-01',
+ patientFirstName: 'Jon',
+ patientLastName: 'Snow',
+ patientName: 'Jon Snow',
+ patientPostalCode: '00008',
+ patientStateProvince: 'Westeros',
+ pickupDate: 'Tue Dec 13 2022',
+ quanitities: '90',
+ rxDate: '2020-07-11',
+ simpleDrugName: 'Turalio',
+ total: 1800}];
+
+jest.mock('axios');
+
+describe('', () => {
+ it('renders the order card with no doctor orders', async () => {
+ axios.get = jest.fn().mockImplementationOnce(() => Promise.resolve({ data: [] }));
+ render();
+
+ await waitFor(() => {
+ expect(screen.getByRole('heading', { name: /no orders yet\./i })).toBeInTheDocument();
+ });
+ });
+
+ it('renders the order card and any doctor orders', async () => {
+ axios.get = jest.fn().mockImplementationOnce(() => Promise.resolve({ data: doctorOrders }));
+ render();
+
+ await waitFor(() => {
+ expect(screen.getByText(/Jon Snow/i)).toBeInTheDocument();
+ expect(screen.getByText(/1996/i)).toBeInTheDocument();
+ expect(screen.getByText(/Turalio/i)).toBeInTheDocument();
+ expect(screen.getByText(/Pending/i)).toBeInTheDocument();
+ // expect(screen.getByTestId('quantities')).toBeInTheDocument();
+ // expect(screen.getByTestId('drugPrice')).toBeInTheDocument();
+ // expect(screen.getByTestId('total')).toBeInTheDocument();
+ // expect(screen.getByTestId('doctorName')).toBeInTheDocument();
+ // expect(screen.getByTestId('doctorID')).toBeInTheDocument();
+ // expect(screen.getByTestId('doctorContact')).toBeInTheDocument();
+ // expect(screen.getByTestId('doctorEmail')).toBeInTheDocument();
+ // expect(screen.getByTestId('pickupDate')).toBeInTheDocument();
+ expect(screen.getByRole('button', { name: /remove all/i })).toBeInTheDocument();
+ });
+ });
});
\ No newline at end of file
diff --git a/frontend/src/views/DoctorOrders/OrderCard/OrderCard.tsx b/frontend/src/views/DoctorOrders/OrderCard/OrderCard.tsx
index de771e9..25d1b7d 100644
--- a/frontend/src/views/DoctorOrders/OrderCard/OrderCard.tsx
+++ b/frontend/src/views/DoctorOrders/OrderCard/OrderCard.tsx
@@ -45,6 +45,7 @@ interface DoctorOrder {
const OrderCard = (props: any) => {
const [doctorOrder, setDoctorOrders] = useState([]);
+ const [isLoading, setIsLoading] = useState(true);
//remove all doctorOrders
const deleteAll = async () => {
@@ -59,17 +60,21 @@ const OrderCard = (props: any) => {
getAllDoctorOrders();
}, []);
- const getAllDoctorOrders = () => {
- axios
+ const getAllDoctorOrders = async () => {
+ await axios
.get(url)
.then(function (response) {
const allDoctorOrders = response.data;
+ setIsLoading(false);
setDoctorOrders(allDoctorOrders);
})
- .catch(error => console.error(`Error: ${error}`));
+ .catch(error => {
+ setIsLoading(false);
+ console.error(`Error: ${error}`);
+ });
};
- if (doctorOrder.length < 1) {
+ if (doctorOrder.length < 1 && !isLoading) {
return (
No orders yet.
diff --git a/frontend/src/views/DoctorOrders/PickedUpOrders/PickedUpOrders.test.tsx b/frontend/src/views/DoctorOrders/PickedUpOrders/PickedUpOrders.test.tsx
index f7dbf20..4b44995 100644
--- a/frontend/src/views/DoctorOrders/PickedUpOrders/PickedUpOrders.test.tsx
+++ b/frontend/src/views/DoctorOrders/PickedUpOrders/PickedUpOrders.test.tsx
@@ -1,9 +1,18 @@
import React from 'react';
-import { render, screen } from '@testing-library/react';
+import { render, screen, waitFor } from '@testing-library/react';
import PickedUpOrders from './PickedUpOrders';
+import axios from 'axios';
-test('renders PickedUpOrders', () => {
- render();
- const linkElement = screen.getByText(/PickedUpOrders/i);
- expect(linkElement).toBeInTheDocument();
+jest.mock('axios');
+describe('', () => {
+
+ it('renders the order card with no doctor orders', async () => {
+ axios.get = jest.fn().mockImplementationOnce(() => Promise.resolve({ data: [] }));
+ render();
+
+ await waitFor(() => {
+ const linkElement = screen.getByText(/PickedUpOrders/i);
+ expect(linkElement).toBeInTheDocument();
+ });
+ });
});
\ No newline at end of file
diff --git a/frontend/src/views/DoctorOrders/VerifiedOrders/VerifiedOrders.test.tsx b/frontend/src/views/DoctorOrders/VerifiedOrders/VerifiedOrders.test.tsx
index 5cd0e61..2a4b8ae 100644
--- a/frontend/src/views/DoctorOrders/VerifiedOrders/VerifiedOrders.test.tsx
+++ b/frontend/src/views/DoctorOrders/VerifiedOrders/VerifiedOrders.test.tsx
@@ -1,9 +1,19 @@
import React from 'react';
-import { render, screen } from '@testing-library/react';
+import { render, screen, waitFor } from '@testing-library/react';
import VerifiedOrders from './VerifiedOrders';
+import axios from 'axios';
-test('renders VerifiedOrders', () => {
- render();
- const linkElement = screen.getByText(/VerifiedOrders/i);
- expect(linkElement).toBeInTheDocument();
-});
\ No newline at end of file
+
+jest.mock('axios');
+describe('', () => {
+
+ it('renders the order card with no doctor orders', async () => {
+ axios.get = jest.fn().mockImplementationOnce(() => Promise.resolve({ data: [] }));
+ render();
+
+ await waitFor(() => {
+ const linkElement = screen.getByText(/VerifiedOrders/i);
+ expect(linkElement).toBeInTheDocument();
+ });
+ });
+});