From 0feddebcc36bfe78fd2d8a90f784b3a949626641 Mon Sep 17 00:00:00 2001
From: Brendan Wong <35351983+LunrEclipse@users.noreply.github.com>
Date: Thu, 17 Aug 2023 11:30:56 -0400
Subject: [PATCH] feat: add CodeCov to cloud tests (#7154)
* feat: add CodeCov to cloud tests
* Update codecov.yml
* Update codecov.yml
* get cov to 80%
* remove unneeded test
---
.github/workflows/test.yml | 6 +++-
codecov.yml | 4 +++
functions/components/metaTagInjector.test.ts | 38 ++++++++++++++++++++
3 files changed, 47 insertions(+), 1 deletion(-)
create mode 100644 functions/components/metaTagInjector.test.ts
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 2aebf1afd7..8823d696b3 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -214,7 +214,6 @@ jobs:
name: Cloud typecheck
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_TEST_REPORTER_WEBHOOK }}
- # TODO(WEB-2537): Setup CodeCOV
cloud-tests:
runs-on: ubuntu-latest
steps:
@@ -227,6 +226,11 @@ jobs:
restore-keys: ${{ runner.os }}-cloud-jest-
# Only use 1 worker, so the other can be used for the proxy server under test.
- run: yarn test:cloud --coverage --maxWorkers=1
+ - uses: codecov/codecov-action@v3
+ with:
+ token: ${{ secrets.CODECOV_TOKEN }}
+ fail_ci_if_error: false
+ flags: cloud-tests
pre:
if: ${{ github.ref_name == 'main' || github.ref_name == 'releases/staging' }}
diff --git a/codecov.yml b/codecov.yml
index 217ff701eb..db921b0b00 100644
--- a/codecov.yml
+++ b/codecov.yml
@@ -28,6 +28,10 @@ flag_management:
target: 50%
individual_flags:
- name: unit-tests
+ - name: cloud-tests
+ statuses:
+ - type: project
+ target: 80%
comment:
layout: flags
diff --git a/functions/components/metaTagInjector.test.ts b/functions/components/metaTagInjector.test.ts
new file mode 100644
index 0000000000..dd4d540c79
--- /dev/null
+++ b/functions/components/metaTagInjector.test.ts
@@ -0,0 +1,38 @@
+import { MetaTagInjector } from './metaTagInjector'
+
+test('should append meta tag to element', () => {
+ const element = {
+ append: jest.fn(),
+ } as unknown as Element
+ const property = 'property'
+ const content = 'content'
+ const injector = new MetaTagInjector({
+ title: 'test',
+ url: 'testUrl',
+ image: 'testImage',
+ description: 'testDescription',
+ })
+ injector.append(element, property, content)
+ expect(element.append).toHaveBeenCalledWith(``, { html: true })
+
+ injector.element(element)
+ expect(element.append).toHaveBeenCalledWith(``, { html: true })
+ expect(element.append).toHaveBeenCalledWith(``, {
+ html: true,
+ })
+ expect(element.append).toHaveBeenCalledWith(``, { html: true })
+ expect(element.append).toHaveBeenCalledWith(``, { html: true })
+ expect(element.append).toHaveBeenCalledWith(``, { html: true })
+ expect(element.append).toHaveBeenCalledWith(``, { html: true })
+ expect(element.append).toHaveBeenCalledWith(``, { html: true })
+ expect(element.append).toHaveBeenCalledWith(``, { html: true })
+
+ expect(element.append).toHaveBeenCalledWith(``, {
+ html: true,
+ })
+ expect(element.append).toHaveBeenCalledWith(``, { html: true })
+ expect(element.append).toHaveBeenCalledWith(``, { html: true })
+ expect(element.append).toHaveBeenCalledWith(``, { html: true })
+
+ expect(element.append).toHaveBeenCalledTimes(13)
+})