UNPKG

boldsign

Version:

NodeJS client for boldsign

226 lines (225 loc) 7.96 kB
import { TeamsApi } from '../../api/teamsApi'; import { CreateTeamRequest, TeamListResponse, TeamUpdateRequest } from '../../model'; import config from '../config'; describe('TeamsTestcase', () => { let teamsApi:TeamsApi; let createdTeamId:any let teamName:any const randomNumbers = () => { const randomNum = Math.floor(100 + Math.random() * 900); return String(randomNum); }; beforeAll(() => { createdTeamId = null; teamName = null; const apiKey = config.apiKey; const baseUrl = config.baseUrl; if (!apiKey || !baseUrl) { throw new Error("Environment variables 'API_KEY' or 'HOST_URL' are not set."); } teamsApi = new TeamsApi(baseUrl); teamsApi.setApiKey(apiKey); teamName = `sdktestingteam${randomNumbers()}`; }); test('Test1: should create team successfully', async () => { const createTeamRequest = new CreateTeamRequest(); createTeamRequest.teamName = teamName; try { const createTeamResponse = await teamsApi.createTeam(createTeamRequest); console.log('Team created successfully:', createTeamResponse); const createdTeam = createTeamResponse?.teamId; if (createdTeam && createdTeam) { createdTeamId = String(createdTeam); console.log('Created Team ID:', createdTeamId); } else { console.error('Team ID not found in response.'); throw new Error('Team creation failed.'); } expect(createTeamResponse.teamId).toBeDefined; console.log('Created Team ID:', createdTeamId); } catch (error:any) { console.error('Error occurred while creating team:', error.message); expect(error.message).toBeUndefined(); } },20000); test('Test2: should return error when team name already exists', async () => { const createTeamRequest = new CreateTeamRequest(); createTeamRequest.teamName = teamName; try { const response = await teamsApi.createTeam(createTeamRequest); console.log('Team created successfully:', response); } catch (error: any) { console.error('Error occurred while creating team:', error.message); expect(error.message).toBeDefined(); } },20000); test('Test3: should return error when team name empty', async () => { const createTeamRequest = new CreateTeamRequest(); createTeamRequest.teamName = ""; try { const response = await teamsApi.createTeam(createTeamRequest); console.log('Team created successfully:', response); } catch (error: any) { console.error('Error occurred while creating team:', error); expect(error).toBeDefined(); expect(error.response.status).toBe(400); expect(error.response.statusText).toBe('Bad Request'); } },20000); test('Test4: should successfully retrieve team list with valid parameters', async () => { const page = 1; const pageSize = 100; try { const teamListResponse = await teamsApi.listTeams(page, pageSize); expect(teamListResponse.results).toBeDefined; const teamsList = teamListResponse?.results; if (Array.isArray(teamsList)) { for (let team of teamsList) { if (team.teamName === teamName) { createdTeamId = team.teamId; console.log("Created Team ID:", createdTeamId); break; } } } else { console.error("teamsList is not an array or is null/undefined."); throw new Error("teamsList is invalid."); } expect(createdTeamId !=null); } catch (error: any) { console.error("Error occurred while retrieving team list:", error.message); expect(error.message).toBeUndefined(); } },20000); test('Test5:should fail to retrieve team list when invalid parameters are passed', async () => { const page = -1; const pageSize = -10; try { const teamListResponse = await teamsApi.listTeams(page, pageSize); console.error("Unexpected success response:", teamListResponse); throw new Error("Expected error, but API call succeeded"); } catch (error:any) { console.log("Expected error occurred:", error.message); expect(error.message).toBeDefined(); } },20000); test('Test6:should fail to retrieve team list when zero value for page and page size', async () => { const page = 0; const pageSize = 0; try { const teamListResponse = await teamsApi.listTeams(page, pageSize); console.error("Unexpected success response:", teamListResponse); throw new Error("Expected error, but API call succeeded"); } catch (error:any) { console.log("Expected error occurred:", error); expect(error).toBeDefined(); expect(error.response.status).toBe(400); expect(error.response.statusText).toBe('Bad Request'); } },20000); test('Test7:should throw error for update when already existing team name is provided', async () => { const teamUpdateRequest = { teamId: createdTeamId, teamName: teamName, }; try { await teamsApi.updateTeam(teamUpdateRequest); } catch (error:any) { expect(error).toBeDefined(); expect(error.response.status).toBe(400); expect(error.response.statusText).toBe('Bad Request'); } },20000); test('Test8:should return true when valid team update request is passed', async () => { const teamUpdateRequest = new TeamUpdateRequest(); teamUpdateRequest.teamId = createdTeamId; teamUpdateRequest.teamName = "Update"+teamName; console.log("Teamid before update:", createdTeamId); try { const records = await teamsApi.updateTeam(teamUpdateRequest); console.log("Team updated successfully:", records); } catch (error:any) { console.error("Error during team update:", error.message); expect(error.message).toBeUndefined(); } },20000); test('Test9:should throw error for update when invalid team ID is provided', async () => { const teamUpdateRequest = { teamId: "wrongTeamId", teamName: teamName, }; try { await teamsApi.updateTeam(teamUpdateRequest); } catch (error:any) { expect(error.message).toBeDefined(); } },20000); test('Test10:should throw error for update when team name is empty', async () => { const teamUpdateRequest = { teamId: createdTeamId, teamName: "", }; try { await teamsApi.updateTeam(teamUpdateRequest); } catch (error:any) { expect(error).toBeDefined(); expect(error.response.status).toBe(400); expect(error.response.statusText).toBe('Bad Request'); } },20000); test('Test11:should return true when valid team get request is passed', async () => { try { const records = await teamsApi.getTeam(createdTeamId); console.log(records); expect(records.teamName != null); } catch (error:any) { console.error("Error fetching team:", error.message); expect(error.message).toBeUndefined(); } },20000); test('Test12:should throw error when invalid team ID is provided', async () => { const invalidTeamId = "INVALID_TEAMID"; try { await teamsApi.getTeam(invalidTeamId); } catch (error:any) { console.log("Expected exception occurred " + error.message); expect(error).toBeDefined(); expect(error.response.status).toBe(400); expect(error.response.statusText).toBe('Bad Request'); } },20000); test('Test13:should throw error when team ID is empty', async () => { const invalidTeamId = ""; try { await teamsApi.getTeam(invalidTeamId); } catch (error:any) { console.log("Expected exception occurred: " + error.message); expect(error.message).toBeDefined(); } },20000); });