]> git.r.bdr.sh - rbdr/forum/blobdiff - src/lib/stores/tags.test.ts
Lint, rm unused code
[rbdr/forum] / src / lib / stores / tags.test.ts
diff --git a/src/lib/stores/tags.test.ts b/src/lib/stores/tags.test.ts
deleted file mode 100644 (file)
index 9d3eb50..0000000
+++ /dev/null
@@ -1,311 +0,0 @@
-import { GraphQLInteraction, Pact, Matchers } from '@pact-foundation/pact';
-import { resolve } from 'path';
-
-import { resolveAfter } from '$lib/utils/resolve_after';
-
-const { eachLike, like } = Matchers;
-
-jest.mock('$lib/config/config.ts');
-
-import { getTag } from './tags';
-
-const internals = {
-  provider: null
-};
-
-describe('Tags store pact', () => {
-
-  beforeAll(async () => {
-
-    internals.provider = new Pact({
-      port: 1234,
-      dir: resolve(process.cwd(), 'pacts'),
-      consumer: 'ForumClient',
-      provider: 'ForumServer',
-      pactfileWriteMode: 'update'
-    });
-
-    await internals.provider.setup();
-  });
-
-  afterEach(() => internals.provider.verify());
-  afterAll(() => internals.provider.finalize());
-
-  describe('When there\'s data', () => {
-
-    describe('GetTag', () => {
-
-      beforeAll(async () => {
-
-        const tagQuery = new GraphQLInteraction()
-          .given('there\'s data')
-          .uponReceiving('a request to get a single tag')
-          .withRequest({
-            path: '/graphql',
-            method: 'POST'
-          })
-          .withOperation('GetTag')
-          .withQuery(
-            `query GetTag($id: ID!) {
-              tag(id: $id) {
-                id
-                topics {
-                  id
-                  title
-                  updated_at
-                  ttl
-                  __typename
-                }
-                __typename
-              }
-            }`
-          )
-          .withVariables({
-            id: 'pineapple'
-          })
-          .willRespondWith({
-            status: 200,
-            headers: {
-              'Content-Type': 'application/json; charset=utf-8'
-            },
-            body: {
-              data: {
-                tag: {
-                  id: like('pineapple'),
-                  topics: eachLike({
-                    id: like('cd038ae7-e8b4-4e38-9543-3d697e69ac34'),
-                    title: like('This topic is about pineapples'),
-                    updated_at: like(1619978944077),
-                    ttl: like(3555)
-                  })
-                }
-              }
-            }
-          });
-        return await internals.provider.addInteraction(tagQuery);
-      });
-
-      test('it returns the tag', async () => {
-
-        const tag = getTag('pineapple');
-        const { counter, promise: resolveAfterTwo } = resolveAfter(2);
-        let response = null;
-        tag.subscribe((tagValue) => {
-
-          response = tagValue;
-          counter();
-        });
-        expect(response.data).toBe(null);
-        expect(response.loading).toBe(true);
-        expect(response.error).toBe(undefined);
-        await resolveAfterTwo;
-        expect(response.data).toEqual({
-          id: 'pineapple',
-          topics: [{
-            id: 'cd038ae7-e8b4-4e38-9543-3d697e69ac34',
-            title: 'This topic is about pineapples',
-            updated_at: 1619978944077,
-            ttl: 3555
-          }]
-        });
-        expect(response.loading).toBe(false);
-        expect(response.error).toBe(undefined);
-      });
-    });
-  });
-
-  describe('When there\'s no data', () => {
-
-    describe('GetTag', () => {
-
-      beforeAll(async () => {
-
-        const tagQuery = new GraphQLInteraction()
-          .given('there\'s no data')
-          .uponReceiving('a request to get a single tag')
-          .withRequest({
-            path: '/graphql',
-            method: 'POST'
-          })
-          .withOperation('GetTag')
-          .withQuery(
-            `query GetTag($id: ID!) {
-              tag(id: $id) {
-                id
-                topics {
-                  id
-                  title
-                  updated_at
-                  ttl
-                  __typename
-                }
-                __typename
-              }
-            }`
-          )
-          .withVariables({
-            id: 'pineapple'
-          })
-          .willRespondWith({
-            status: 200,
-            headers: {
-              'Content-Type': 'application/json; charset=utf-8'
-            },
-            body: {
-              data: {
-                tag: null
-              }
-            }
-          });
-        return await internals.provider.addInteraction(tagQuery);
-      });
-
-      test('it returns the tag', async () => {
-
-        const tag = getTag('pineapple');
-        const { counter, promise: resolveAfterTwo } = resolveAfter(2);
-        let response = null;
-        tag.subscribe((tagValue) => {
-
-          response = tagValue;
-          counter();
-        });
-        expect(response.data).toBe(null);
-        expect(response.loading).toBe(true);
-        expect(response.error).toBe(undefined);
-        await resolveAfterTwo;
-        expect(response.data).toBe(null);
-        expect(response.loading).toBe(false);
-        expect(response.error).toBe(undefined);
-      });
-    });
-  });
-
-  describe('When there\'s a server error', () => {
-
-    describe('GetTag', () => {
-
-      beforeAll(async () => {
-
-        const tagQuery = new GraphQLInteraction()
-          .given('there\'s a server error')
-          .uponReceiving('a request to get a single tag')
-          .withRequest({
-            path: '/graphql',
-            method: 'POST'
-          })
-          .withOperation('GetTag')
-          .withQuery(
-            `query GetTag($id: ID!) {
-              tag(id: $id) {
-                id
-                topics {
-                  id
-                  title
-                  updated_at
-                  ttl
-                  __typename
-                }
-                __typename
-              }
-            }`
-          )
-          .withVariables({
-            id: 'pineapple'
-          })
-          .willRespondWith({
-            status: 500
-          });
-        return await internals.provider.addInteraction(tagQuery);
-      });
-
-      test('it returns the error', async () => {
-
-        const tag = getTag('pineapple');
-        const { counter, promise: resolveAfterTwo } = resolveAfter(2);
-        let response = null;
-        tag.subscribe((tagValue) => {
-
-          response = tagValue;
-          counter();
-        });
-        expect(response.data).toBe(null);
-        expect(response.loading).toBe(true);
-        expect(response.error).toBe(undefined);
-        await resolveAfterTwo;
-        expect(response.data).toBe(null);
-        expect(response.loading).toBe(false);
-        expect(response.error).toBeInstanceOf(Error);
-      });
-    });
-  });
-
-  describe('When there\'s an error in the response', () => {
-
-    describe('GetTag', () => {
-
-      beforeAll(async () => {
-
-        const tagQuery = new GraphQLInteraction()
-          .given('there\'s an error in the response')
-          .uponReceiving('a request to get a single tag')
-          .withRequest({
-            path: '/graphql',
-            method: 'POST'
-          })
-          .withOperation('GetTag')
-          .withQuery(
-            `query GetTag($id: ID!) {
-              tag(id: $id) {
-                id
-                topics {
-                  id
-                  title
-                  updated_at
-                  ttl
-                  __typename
-                }
-                __typename
-              }
-            }`
-          )
-          .withVariables({
-            id: 'pineapple'
-          })
-          .willRespondWith({
-            status: 200,
-            headers: {
-              'Content-Type': 'application/json; charset=utf-8'
-            },
-            body: {
-              errors: eachLike({
-                message: like('An error occurred when fetching the tag')
-              })
-            }
-          });
-        return await internals.provider.addInteraction(tagQuery);
-      });
-
-      test('it returns the error', async () => {
-
-        const tag = getTag('pineapple');
-        const { counter, promise: resolveAfterTwo } = resolveAfter(2);
-        let response = null;
-        tag.subscribe((tagValue) => {
-
-          response = tagValue;
-          counter();
-        });
-        expect(response.data).toBe(null);
-        expect(response.loading).toBe(true);
-        expect(response.error).toBe(undefined);
-        await resolveAfterTwo;
-        expect(response.data).toBe(null);
-        expect(response.loading).toBe(false);
-        expect(response.error.graphQLErrors).toEqual(expect.arrayContaining([{
-          message: 'An error occurred when fetching the tag'
-        }]));
-      });
-    });
-  });
-});