-
Notifications
You must be signed in to change notification settings - Fork 2
Add test plan #51
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: development_2.0.0
Are you sure you want to change the base?
Add test plan #51
Changes from all commits
0335e05
70fa98e
1b74c42
411233e
27e669b
8b5b506
6cd105d
e05c302
1eb63ec
89c3166
0dda8b9
9a95805
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,17 +1,54 @@ | ||
| import axios, { AxiosInstance } from 'axios'; | ||
| import axios, { AxiosInstance } from 'axios' | ||
|
|
||
| const AuthClient: AxiosInstance = axios.create({ | ||
| baseURL: import.meta.env.VITE_APP_ENDPOINT, | ||
| baseURL: 'https://server.gent02.dev.grid.tf/api', | ||
| timeout: 1000, | ||
| headers: { | ||
| 'Content-Type': 'application/json', | ||
| 'Authorization': 'Bearer ' + localStorage.getItem("token"), | ||
| Authorization: 'Bearer ' + localStorage.getItem('token'), | ||
| }, | ||
| }); | ||
| }) | ||
|
|
||
| const BaseClient: AxiosInstance = axios.create({ | ||
| baseURL: import.meta.env.VITE_APP_ENDPOINT, | ||
| baseURL: 'https://server.gent02.dev.grid.tf/api', | ||
| timeout: 1000, | ||
| }); | ||
| }) | ||
|
|
||
| export { AuthClient, BaseClient }; | ||
| async function GetPlans (projectId:string) { | ||
| try { | ||
| localStorage.setItem('token', 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzIzNzI0Njg5LCJpYXQiOjE3MjM3MTUzODksImp0aSI6IjlmNTU1NmY0MjQzZTRjMmI5OWZmZTcxYjFkNWQxYmJiIiwidXNlcl9pZCI6MSwiZW1haWwiOiJuYWJpbGFAZ21haWwuY29tIn0.OUIvvLV5sgtyVQM_PtLu4HsqJaeOLC5FIx7w39VZ7js') | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We agree about the idea of the tokens no? We must not hard-code a user secret and push it into GitHub |
||
| await AuthClient.get(`/test_plan/${projectId}`) | ||
| } catch (error) { | ||
| console.error(error) | ||
| throw error | ||
| } | ||
| } | ||
|
|
||
| async function SearchPlans (projectId:any, keyWord:any) { | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Let's define the types |
||
| try { | ||
| return await AuthClient.post(`/test_plan/${projectId}/search/${keyWord}/`) | ||
| } catch (error) { | ||
| console.error(error) | ||
| throw error | ||
| } | ||
| } | ||
|
|
||
| async function DeletePlan (projectId:any, testPlanId:any) { | ||
| try { | ||
| await AuthClient.delete(`/test_plan/${projectId}/actions/${testPlanId}/`) | ||
| } catch (error) { | ||
| console.error(error) | ||
| throw error | ||
| } | ||
| } | ||
|
|
||
| async function UpdatePlanTitle (projectId:any, testPlanId:any, title:any) { | ||
| try { | ||
| await AuthClient.put(`/test_plan/${projectId}/${testPlanId}/update/`, title) | ||
| } catch (error) { | ||
| console.error(error) | ||
| throw error | ||
| } | ||
| } | ||
|
|
||
| export default { AuthClient, BaseClient, GetPlans, SearchPlans, DeletePlan, UpdatePlanTitle } | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,83 @@ | ||
| <template> | ||
| <div class="text-center pa-4"> | ||
| <!-- this is just to be replaced later on with the + button on click , it opens the dialog.. --> | ||
| <v-btn @click="dialog = true"> | ||
| Open Dialog | ||
| </v-btn> | ||
|
|
||
| <v-dialog v-model="dialog" max-width="600px"> | ||
| <v-card> | ||
| <v-card-title>New Test Plan</v-card-title> | ||
| <v-divider /> | ||
| <br> | ||
| <v-card-subtitle> | ||
| <!-- <strong>Title</strong> --> | ||
| <v-text-field v-model="details.title" density="compact" placeholder="Title" variant="outlined" /> | ||
| <div> | ||
| <v-radio-group v-model="details.type"> | ||
| <v-radio label="Create With Default Templates" value="template" /> | ||
| <v-radio label="Create With Custom Templates" value="blank" /> | ||
| </v-radio-group> | ||
| </div> | ||
| </v-card-subtitle> | ||
| <v-divider /> | ||
| <v-card-actions> | ||
| <v-btn class="text-white" style="background-color: #37ADE3;" @click="dialog = false">Close</v-btn> | ||
| <v-btn | ||
| class="text-white" | ||
| :disabled="loading" | ||
| :loading="loading" | ||
| style="background-color: #43A047;" | ||
| @click="createTestPlan" | ||
| >Create</v-btn> | ||
| </v-card-actions> | ||
| </v-card> | ||
| </v-dialog> | ||
| </div> | ||
| </template> | ||
|
|
||
| <script> | ||
| import axios from '@/api/axios' | ||
| export default { | ||
| setup () { | ||
| const dialog = ref(false) | ||
| const details = ref({ | ||
| title: '', | ||
| type: null, | ||
| }) | ||
|
|
||
| const loading = ref(false) | ||
|
|
||
| const createTestPlan = async () => { | ||
| loading.value = true | ||
| try { | ||
| await axios.CreateNewTestPlan(details.value, projectId) | ||
| notifier.notify({ | ||
| title: 'Success', | ||
| description: 'plan created successfully', | ||
| showProgressBar: true, | ||
| timeout: 7_000, | ||
| type: 'success', | ||
| }) | ||
| } catch (error) { | ||
| console.error(error) | ||
| notifier.notify({ | ||
| title: 'Fail', | ||
| description: 'Failed to create plan', | ||
| showProgressBar: true, | ||
| timeout: 7_000, | ||
| type: 'error', | ||
| }) | ||
| } finally { | ||
|
Comment on lines
+55
to
+71
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Please do the same here |
||
| loading.value = false | ||
| } | ||
| } | ||
| return { | ||
| dialog, | ||
| createTestPlan, | ||
| details, | ||
| loading, | ||
| } | ||
| }, | ||
| } | ||
| </script> | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As I mentioned earlier, this should be loaded from the window. Also, I've noticed that you and @abdahmed22 are re-implementing the same functionality in several open PRs. What do you think about creating a new PR with only these changes and merging it into your base branch to incorporate the changes you both made?