diff --git a/.firebase/hosting.YnVpbGQ.cache b/.firebase/hosting.YnVpbGQ.cache new file mode 100644 index 0000000..5da353c --- /dev/null +++ b/.firebase/hosting.YnVpbGQ.cache @@ -0,0 +1,30 @@ +favicon.ico,1628176552057,ab4da79535864d74c8e087a909afa7f34880d0cf2337e9f78b67c2d5ab2bc806 +logo192.png,1629985509636,925629a167bb0ac276a3dd5cbfeb553f6e2552ddfeef4528d21b3fddac323dd2 +logo512.png,1629985541224,ffd9578ffddf5dca30e97ec222514681699a5f86c1cc1cf79398358ea07ef8b6 +manifest.json,1629985097342,76f98bb64a331b072ef78a9620e9aa08d3ac4dfbb1dec65a76004ccb3abab7bf +maskable_icon_x128.png,1629984922518,27d05ff54cbec790bedd162560a11ee070d82bd02f814204cb967504b2dc7fd0 +maskable_icon_x192.png,1629984920663,d261479a485499557268fba3db40be05c317707ea8dd7223c19bd0743923108d +maskable_icon_x384.png,1629984918500,5a11648493f42a7c54123668ebf48b5a9596da0dd274b17e4bf106a822cf1630 +maskable_icon_x48.png,1629984929179,d9cbfcb37ef780399ba6836945bd99c5555a1bbc585ec06ea0a39a7c3d192d2d +maskable_icon_x512.png,1629984914794,ed259c2a026008c561630038c7b6af9c08b5b65c55819bde9301be125da27851 +maskable_icon_x72.png,1629984931518,7936dea25d35ba006554bd1042e7be99efc0cc24fbc7fa2a0be59cea0ffcc9ba +maskable_icon_x96.png,1629984927101,5b5ea99d0c64cc5ed057c43d6fc43d28809a6eec6d814a5ec6596a5f0279d82b +robots.txt,499162500000,bfe106a3fb878dc83461c86818bf74fc1bdc7f28538ba613cd3e775516ce8b49 +asset-manifest.json,1630523096310,29815bed7ba2b8d7b795f4133304cf35f98106ad7a3194580f991d5765463afe +index.html,1630523096294,c9de5b67c7741e88551570ed126177f3a37d618d8a99e24ec6a54b34404c3995 +static/css/main.80937a2f.chunk.css,1630523096295,1a0358d252c1d3c4c2dfec0f6ca1e0db423129c0f09b196680d04ddfc7dfd3c6 +service-worker.js,1630523096289,bacf6fef6822ffcceb18a044840da024454a55b8b1318a559496fd3d75fda6e2 +static/css/main.80937a2f.chunk.css.map,1630523096310,6b5be788e2505729af1926d53312b15942b64d34e8a026d40595504d23f857ea +static/js/2.a9559376.chunk.js.LICENSE.txt,1630523096310,31f2ef10fdcf22bee88c36b07a02814ded502f73190269643f0674b712d5f759 +static/js/3.f791ef8a.chunk.js,1630523096310,681b748dc0c8fd8e6a86ef9a2d10e935145602d9f1ef365c16d4d50cba92b543 +static/js/3.f791ef8a.chunk.js.map,1630523096295,09b9c39924e616dc60ceea6d719ca6ecb3ccf2ea1025c6586c7791f84dfe379c +static/js/runtime-main.6e967aee.js,1630523096299,c9121e8009035f7840230d6c95f8b72663bc486f434b66ecc759757566b4c04d +static/js/runtime-main.6e967aee.js.map,1630523096310,63e41f4e606c2f924916662449e0b701ec543191fc4c71619d6fe05b78c64a91 +static/media/puff-loader.be69e7a9.svg,1630523096299,9056b57e33eafc2a0405cc5f6d18c128c00380bd3960bab416d804c0d39bf8f7 +static/media/logo.6b68285c.png,1630523096299,a425d236e458ed1c6ee37836cb767811ee239ac42608e5eb76977b7e30df16f0 +static/media/banner.55b7ef51.png,1630523096294,21ba4a962882973f599db9c4c32397ec1467ffbd599b707ac40cd7e6198a67f8 +static/js/main.3b1d6e81.chunk.js,1630523096300,6b81c7d1e5259a16d9fa568bb413fa5a4aa688e01198c1ae282321f56792902b +service-worker.js.map,1630523096290,6ac80a4145d70afc91cd597227c19d8c895bd78deb6fc055ec3c548da54f36ff +static/js/main.3b1d6e81.chunk.js.map,1630523096310,15f5bc5440edc15967777165d8a75dbfcb156e21bdc2a6daabfa0a7fcece8d33 +static/js/2.a9559376.chunk.js,1630523096310,e19e1de940e213b966e35cbc23ddca62c4a0849c7b665992055474dbe70fab64 +static/js/2.a9559376.chunk.js.map,1630523096312,e78344967c197e3d17b3b9cd570964cf7297efd708ff29417cc1965dc000fb7e diff --git a/.github/workflows/firebase-hosting-merge.yml b/.github/workflows/firebase-hosting-merge.yml index 591a729..0a8ec67 100644 --- a/.github/workflows/firebase-hosting-merge.yml +++ b/.github/workflows/firebase-hosting-merge.yml @@ -13,8 +13,6 @@ jobs: - uses: actions/checkout@v2 - run: npm install - run: npm run build - - run: cd functions && npm install - - run: cd .. - uses: FirebaseExtended/action-hosting-deploy@v0 with: repoToken: '${{ secrets.GITHUB_TOKEN }}' diff --git a/.github/workflows/firebase-hosting-pull-request.yml b/.github/workflows/firebase-hosting-pull-request.yml index 84186ff..b74ea8e 100644 --- a/.github/workflows/firebase-hosting-pull-request.yml +++ b/.github/workflows/firebase-hosting-pull-request.yml @@ -11,8 +11,6 @@ jobs: - uses: actions/checkout@v2 - run: npm install - run: npm run build - - run: cd functions && npm install - - run: cd .. - uses: FirebaseExtended/action-hosting-deploy@v0 with: repoToken: '${{ secrets.GITHUB_TOKEN }}' diff --git a/src/App.test.js b/src/App.test.js new file mode 100644 index 0000000..2a68616 --- /dev/null +++ b/src/App.test.js @@ -0,0 +1,9 @@ +import React from 'react'; +import { render, screen } from '@testing-library/react'; +import App from './App'; + +test('renders learn react link', () => { + render(); + const linkElement = screen.getByText(/learn react/i); + expect(linkElement).toBeInTheDocument(); +}); diff --git a/src/setupTests.js b/src/setupTests.js new file mode 100644 index 0000000..8f2609b --- /dev/null +++ b/src/setupTests.js @@ -0,0 +1,5 @@ +// jest-dom adds custom jest matchers for asserting on DOM nodes. +// allows you to do things like: +// expect(element).toHaveTextContent(/react/i) +// learn more: https://github.com/testing-library/jest-dom +import '@testing-library/jest-dom'; diff --git a/storage.rules b/storage.rules index 0533f5d..40d4edc 100644 --- a/storage.rules +++ b/storage.rules @@ -3,11 +3,12 @@ rules_version = '2'; service firebase.storage { match /b/{bucket}/o { match /{userId}/{vocabId} { - allow read: if request.auth != null; - allow create, update: if request.auth.uid == userId && - request.resource.contentType.matches("audio/mp3") && - request.resource.size < 1024 * 1024 / 5 && - vocabId.matches('[a-zA-Z0-9_-]+\\.mp3'); + allow read, write: if false; + // allow read: if request.auth != null; + // allow create, update: if request.auth.uid == userId && + // request.resource.contentType.matches("audio/mp3") && + // request.resource.size < 1024 * 1024 / 5 && + // vocabId.matches('[a-zA-Z0-9_-]+\\.mp3'); } } }