From f6b782fb0e877060db80a39247acb04044023512 Mon Sep 17 00:00:00 2001
From: Muhammad Usama <musama2@unl.edu>
Date: Wed, 4 Sep 2024 15:46:46 -0500
Subject: [PATCH] counter folder removed

---
 minimal-app/src/features/counter/counter.js   | 36 ----------------
 .../src/features/counter/counter.module.css   |  7 ----
 .../src/features/counter/counter.test.js      | 41 -------------------
 .../src/features/counter/counterSlice.js      | 25 -----------
 .../src/features/counter/counterSlice.test.js | 36 ----------------
 5 files changed, 145 deletions(-)
 delete mode 100644 minimal-app/src/features/counter/counter.js
 delete mode 100644 minimal-app/src/features/counter/counter.module.css
 delete mode 100644 minimal-app/src/features/counter/counter.test.js
 delete mode 100644 minimal-app/src/features/counter/counterSlice.js
 delete mode 100644 minimal-app/src/features/counter/counterSlice.test.js

diff --git a/minimal-app/src/features/counter/counter.js b/minimal-app/src/features/counter/counter.js
deleted file mode 100644
index a09d3e4..0000000
--- a/minimal-app/src/features/counter/counter.js
+++ /dev/null
@@ -1,36 +0,0 @@
-import { useSelector, useDispatch } from 'react-redux';
-import PropTypes from 'prop-types';
-
-import classNames from 'classnames';
-import styles from './counter.module.css';
-
-import {
-  selectValue,
-  setValue,
-} from './counterSlice.js';
-
-export function Counter(props) {
-  const value = useSelector(selectValue);
-  const dispatch = useDispatch();
-
-  const classes = classNames({
-    [styles.red]: value % 2 === 0,
-    [styles.blue]: value % 2 === 1,
-  });
-  const onClick = () => dispatch(setValue({
-    value: value + 1,
-  }));
-
-  return (
-    <label>
-      {props.label}:&nbsp;
-      <button className={classes} onClick={onClick}>
-        {value}
-      </button>
-    </label>
-  );
-}
-
-Counter.propTypes = {
-  label: PropTypes.string.isRequired,
-};
diff --git a/minimal-app/src/features/counter/counter.module.css b/minimal-app/src/features/counter/counter.module.css
deleted file mode 100644
index d78b8d9..0000000
--- a/minimal-app/src/features/counter/counter.module.css
+++ /dev/null
@@ -1,7 +0,0 @@
-.red {
-  color: rgba(255 0 0 / 100%);
-}
-
-.blue {
-  color: rgba(0 0 255 / 100%);
-}
diff --git a/minimal-app/src/features/counter/counter.test.js b/minimal-app/src/features/counter/counter.test.js
deleted file mode 100644
index fedc10f..0000000
--- a/minimal-app/src/features/counter/counter.test.js
+++ /dev/null
@@ -1,41 +0,0 @@
-import { render, screen } from '@testing-library/react';
-import userEvent from '@testing-library/user-event';
-import '../../testing/mockRedux.js';
-
-import { Counter } from './counter.js';
-
-import {
-  selectValue,
-  setValue,
-} from './counterSlice.js';
-jest.mock('./counterSlice.js', () => ({
-  selectValue: jest.fn().mockName('selectValue'),
-  setValue: jest.fn().mockName('setValue'),
-}));
-
-describe('the button', () => {
-  test('displays the value from the store', () => {
-    selectValue.mockReturnValue(9999);
-    render(<Counter label={'Foo'} />);
-    expect(screen.getByRole('button')).toHaveTextContent(/^9999$/);
-  });
-  test('is red when the value from the store is even', () => {
-    selectValue.mockReturnValue(9998);
-    render(<Counter label={'Foo'} />);
-    expect(screen.getByRole('button')).toHaveClass('red');
-  });
-  test('is blue when the value from the store is odd', () => {
-    selectValue.mockReturnValue(9999);
-    render(<Counter label={'Foo'} />);
-    expect(screen.getByRole('button')).toHaveClass('blue');
-  });
-  test('increments the value in the store when clicked', async() => {
-    selectValue.mockReturnValue(9999);
-    render(<Counter label={'Foo'} />);
-    await userEvent.click(screen.getByRole('button'));
-    expect(setValue).toHaveBeenCalledTimes(1);
-    expect(setValue).toHaveBeenCalledWith({
-      value: 9999 + 1,
-    });
-  });
-});
diff --git a/minimal-app/src/features/counter/counterSlice.js b/minimal-app/src/features/counter/counterSlice.js
deleted file mode 100644
index 60b530e..0000000
--- a/minimal-app/src/features/counter/counterSlice.js
+++ /dev/null
@@ -1,25 +0,0 @@
-import { createSlice } from '@reduxjs/toolkit';
-
-const counterSlice = createSlice({
-  name: 'counter',
-  initialState: {
-    value: 0,
-  },
-  reducers: {
-    setValue: (counter, action) => {
-      const {
-        value,
-      } = action.payload;
-      counter.value = value;
-    },
-  },
-});
-export default counterSlice;
-
-export const {
-  setValue,
-} = counterSlice.actions;
-
-export function selectValue(state) {
-  return state.counter.value;
-}
diff --git a/minimal-app/src/features/counter/counterSlice.test.js b/minimal-app/src/features/counter/counterSlice.test.js
deleted file mode 100644
index b98407b..0000000
--- a/minimal-app/src/features/counter/counterSlice.test.js
+++ /dev/null
@@ -1,36 +0,0 @@
-import counterSlice, {
-  selectValue,
-  setValue,
-} from './counterSlice.js';
-
-describe('the initial state', () => {
-  test('has a value of zero', () => {
-    const state = counterSlice.reducer(undefined, {});
-    expect(state).toEqual({
-      value: 0,
-    });
-  });
-});
-
-describe('selectValue', () => {
-  test('reads the stored value', () => {
-    const state = {
-      value: 9999,
-    };
-    const result = selectValue({ [counterSlice.name]: state });
-    expect(result).toBe(9999);
-  });
-});
-
-describe('setValue', () => {
-  test('overwrites the stored value', () => {
-    const state = counterSlice.reducer({
-      value: 8888,
-    }, setValue({
-      value: 9999,
-    }));
-    expect(state).toEqual({
-      value: 9999,
-    });
-  });
-});
-- 
GitLab