]> 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 8c9effe..0000000
+++ /dev/null
@@ -1,295 +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'
-                                               }
-                                       ])
-                               );
-                       });
-               });
-       });
-});