diff --git a/dialogflow-cx/list-testcase-results.js b/dialogflow-cx/list-testcase-results.js new file mode 100644 index 00000000000..89a2be1b4a2 --- /dev/null +++ b/dialogflow-cx/list-testcase-results.js @@ -0,0 +1,49 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +'use strict'; + +async function main(projectId, agentId, testId, location) { + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + // const projectId = 'my-project'; + // const agentId = 'my-agent'; + // const testId = 'my-flow'; + // const location = 'global'; + + // [START dialogflow_cx_list_testcase_sample] + const parent = `projects/${projectId}/locations/${location}/agents/${agentId}/testCases/${testId}`; + + const {TestCasesClient} = require('@google-cloud/dialogflow-cx'); + + const client = new TestCasesClient({ + apiEndpoint: 'global-dialogflow.googleapis.com', + }); + const req = { + parent, + filter: 'environment=draft', + }; + + const res = await client.listTestCaseResults(req); + + console.log(res); + // [END dialogflow_cx_list_testcase_sample] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/dialogflow-cx/test/list_testcase-results.test.js b/dialogflow-cx/test/list_testcase-results.test.js new file mode 100644 index 00000000000..3225aec3d78 --- /dev/null +++ b/dialogflow-cx/test/list_testcase-results.test.js @@ -0,0 +1,35 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +'use strict'; + +const {assert} = require('chai'); +const {describe, it} = require('mocha'); +const execSync = require('child_process').execSync; +const exec = cmd => execSync(cmd, {encoding: 'utf8'}); +const dialogflow = require('@google-cloud/dialogflow-cx'); + +describe('Test filtering results', async () => { + const cmd = 'node list-testcase-results.js'; + const agentId = process.env.AGENT_ID; + const testId = process.env.TEST_ID; + const location = 'global'; + const agentClient = new dialogflow.AgentsClient(); + const projectId = await agentClient.getProjectId(); + + it('should return filtered test results', async () => { + const output = exec(`${cmd} ${projectId} ${agentId} ${testId} ${location}`); + assert.include(output, testId); + }); +});