主頁 > 資料庫 > 單擊按鈕時元素未隱藏

單擊按鈕時元素未隱藏

2022-03-02 23:21:41 資料庫

我在報告中添加了僅顯示失敗按鈕并嘗試使其作業,以便在單擊顯示失敗時僅顯示失敗案例。但是按鈕沒有按預期作業。控制元件轉到該功能,但預期的功能未按預期作業。單擊此顯示失敗按鈕時,請幫助隱藏通過案例。

 
<html>
    <head>
        <title>Mocha</title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <style type="text/css">
        @charset "utf-8";

body {
  margin:0;
}

#mocha {
  font: 20px/1.5 "Helvetica Neue", Helvetica, Arial, sans-serif;
  margin: 60px 50px;
}

#mocha ul,
#mocha li {
  margin: 0;
  padding: 0;
}

#mocha ul {
  list-style: none;
}

#mocha h1,
#mocha h2 {
  margin: 0;
}

#mocha h1 {
  margin-top: 15px;
  font-size: 1em;
  font-weight: 200;
}

#mocha h1 a {
  text-decoration: none;
  color: inherit;
}

#mocha h1 a:hover {
  text-decoration: underline;
}

#mocha .suite .suite h1 {
  margin-top: 0;
  font-size: .8em;
}

#mocha .hidden {
  display: none;
}

#mocha h2 {
  font-size: 12px;
  font-weight: normal;
  cursor: pointer;
}

#mocha .suite {
  margin-left: 15px;
}

#mocha .test {
  margin-left: 15px;
  overflow: hidden;
}

#mocha .test.pending:hover h2::after {
  content: '(pending)';
  font-family: arial, sans-serif;
}

#mocha .test.pass.medium .duration {
  background: #c09853;
}

#mocha .test.pass.slow .duration {
  background: #b94a48;
}

#mocha .test.pass::before {
  content: '?';
  font-size: 12px;
  display: block;
  float: left;
  margin-right: 5px;
  color: #00d6b2;
}

#mocha .test.pass .duration {
  font-size: 9px;
  margin-left: 5px;
  padding: 2px 5px;
  color: #fff;
  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.2);
  -moz-box-shadow: inset 0 1px 1px rgba(0,0,0,.2);
  box-shadow: inset 0 1px 1px rgba(0,0,0,.2);
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
  border-radius: 5px;
}

#mocha .test.pass.fast .duration {
  display: none;
}

#mocha .test.pending {
  color: #0b97c4;
}

#mocha .test.pending::before {
  content: '?';
  color: #0b97c4;
}

#mocha .test.fail {
  color: #c00;
}

#mocha .test.fail pre {
  color: black;
}

#mocha .test.fail::before {
  content: '?';
  font-size: 12px;
  display: block;
  float: left;
  margin-right: 5px;
  color: #c00;
}

#mocha .test pre.error {
  color: #c00;
  max-height: 300px;
  overflow: auto;
}

#mocha .test .html-error {
  overflow: auto;
  color: black;
  display: block;
  float: left;
  clear: left;
  font: 12px/1.5 monaco, monospace;
  margin: 5px;
  padding: 15px;
  border: 1px solid #eee;
  max-width: 85%; /*(1)*/
  max-width: -webkit-calc(100% - 42px);
  max-width: -moz-calc(100% - 42px);
  max-width: calc(100% - 42px); /*(2)*/
  max-height: 300px;
  word-wrap: break-word;
  border-bottom-color: #ddd;
  -webkit-box-shadow: 0 1px 3px #eee;
  -moz-box-shadow: 0 1px 3px #eee;
  box-shadow: 0 1px 3px #eee;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
}

#mocha .test .html-error pre.error {
  border: none;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  -webkit-box-shadow: 0;
  -moz-box-shadow: 0;
  box-shadow: 0;
  padding: 0;
  margin: 0;
  margin-top: 18px;
  max-height: none;
}

/**
 * (1): approximate for browsers not supporting calc
 * (2): 42 = 2*15   2*10   2*1 (padding   margin   border)
 *      ^^ seriously
 */
#mocha .test pre {
  display: block;
  float: left;
  clear: left;
  font: 12px/1.5 monaco, monospace;
  margin: 5px;
  padding: 15px;
  border: 1px solid #eee;
  max-width: 85%; /*(1)*/
  max-width: -webkit-calc(100% - 42px);
  max-width: -moz-calc(100% - 42px);
  max-width: calc(100% - 42px); /*(2)*/
  word-wrap: break-word;
  border-bottom-color: #ddd;
  -webkit-box-shadow: 0 1px 3px #eee;
  -moz-box-shadow: 0 1px 3px #eee;
  box-shadow: 0 1px 3px #eee;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
}

#mocha .test h2 {
  position: relative;
}

#mocha .test a.replay {
  position: absolute;
  top: 3px;
  right: 0;
  text-decoration: none;
  vertical-align: middle;
  display: block;
  width: 15px;
  height: 15px;
  line-height: 15px;
  text-align: center;
  background: #eee;
  font-size: 15px;
  -webkit-border-radius: 15px;
  -moz-border-radius: 15px;
  border-radius: 15px;
  -webkit-transition:opacity 200ms;
  -moz-transition:opacity 200ms;
  -o-transition:opacity 200ms;
  transition: opacity 200ms;
  opacity: 0.3;
  color: #888;
}

#mocha .test:hover a.replay {
  opacity: 1;
}

#mocha-report.pass .test.fail {
  display: none;
}

#mocha-report.fail .test.pass {
  display: none;
}

#mocha-report.pending .test.pass,
#mocha-report.pending .test.fail {
  display: none;
}
#mocha-report.pending .test.pass.pending {
  display: block;
}

#mocha-error {
  color: #c00;
  font-size: 1.5em;
  font-weight: 100;
  letter-spacing: 1px;
}

#mocha-stats {
  position: fixed;
  top: 15px;
  right: 10px;
  font-size: 12px;
  margin: 0;
  color: #888;
  z-index: 1;
}

#mocha-stats .progress {
  float: right;
  padding-top: 0;

  /**
   * Set safe initial values, so mochas .progress does not inherit these
   * properties from Bootstrap .progress (which causes .progress height to
   * equal line height set in Bootstrap).
   */
  height: auto;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
  background-color: initial;
}

#mocha-stats em {
  color: black;
}

#mocha-stats a {
  text-decoration: none;
  color: inherit;
}

#mocha-stats a:hover {
  border-bottom: 1px solid #eee;
}

#mocha-stats li {
  display: inline-block;
  margin: 0 5px;
  list-style: none;
  padding-top: 11px;
}

#mocha-stats canvas {
  width: 40px;
  height: 40px;
}

#mocha code .comment { color: #ddd; }
#mocha code .init { color: #2f6fad; }
#mocha code .string { color: #5890ad; }
#mocha code .keyword { color: #8a6343; }
#mocha code .number { color: #2f6fad; }

@media screen and (max-device-width: 480px) {
  #mocha {
    margin: 60px 0px;
  }

  #mocha #stats {
    position: absolute;
  }
}
#mocha .test.pass pre {
    display: none;
}

#mocha .test.fail pre {
    display: none;
}

#mocha .test pre.error {
    display: block;
}

#mocha .test .html-error pre.error {
    box-shadow: none;
}

#mocha .test:hover h2:after {
    color: #888888;
    content: "(view source)";
    font-family: arial;
    font-size: 12px;
    position: relative;
    right: -10px;
    top: 0;
}

#mocha .test.pass.pending h2 {
    cursor: auto;
}

#mocha .mocha-header {
    right: 30px;
    position: fixed;
    top: 15px;
    font-size: 14px;
    margin: 0;
    color: #888;
    z-index: 1;
}

#mocha .mocha-header em {
    font-style: normal;
    color: black;
}

#mocha .mocha-header ul {
    display: inline-block;
}

#mocha .mocha-stats li {
    display: inline-block;
    margin: 0 5px;
    list-style: none;
    padding-top: 11px;
}

#mocha .mocha-menu {
    margin-right: 10px;
}

#mocha .mocha-menu li {
    display: inline-block;
    margin-left: 10px;
    list-style: none;
}

#mocha .mocha-menu li span {
    display: inline-block;
    cursor: pointer;
    color: #fff;
    font-size: 14px;
    padding: 3px 7px 2px;
    box-shadow: 1px 1px 3px rgba(0,0,0,.2);
    border-radius: 5px;
    user-select: none;
}

#mocha .mocha-menu li span.checked {
    box-shadow: inset 1px 1px 3px rgba(0,0,0,.2);
}

#mocha .toggle-passes {
    background: #b94a48;
}

        </style>
    </head>
    <body>
        <div id="mocha">
            <div class="mocha-header">
                <ul class="mocha-menu">
                    <li><span id="toggle-passes" class="toggle-passes">show failures only</span></li>
                </ul>
                <ul class="mocha-stats">
                    <li class="passes">passes: <em>6</em></li>
                    <li class="pending">pending: <em>1</em></li>
                    <li class="failures">failures: <em>1</em></li>
                    <li class="duration">duration: <em>15.3s</em></li>
                </ul>
            </div>
            <ul id="report"><li class="suite"><h1>Tests for apply(submit) endpoint.</h1><ul><li class="suite"><h1>/POST apply valid request with externalResumeID</h1><ul><li class="test pass pending"><h2>it should send 200 status</h2></li></ul></li><li class="suite"><h1>/POST apply valid request with base64</h1><ul><li class="test pass slow"><h2>it should send 200 status<span class="duration">2401ms</span></h2><pre><code>async function () {
      let email = chars[Math.floor(Math.random()*26)]   Math.random().toString(36).substring(2,11)   &#x27;@gmail.com&#x27;;
      const res = await request(baseUrl)
        .post(&#x27;services/apply&#x27;)
        .send({
          &#x22;firstName&#x22;: &#x22;Manny&#x22;,
          &#x22;lastName&#x22;: &#x22;Jackson&#x22;,
          &#x22;sourceid&#x22;: 48,
          &#x22;language&#x22;: &#x22;en&#x22;,
          &#x22;coverLetter&#x22;: &#x22;Testing cover letter&#x22;,
          &#x22;screenerParams&#x22;: {
            &#x22;7232706&#x22;: &#x22;9657234&#x22;,
            &#x22;7291179&#x22;: &#x22;9755492&#x22;,
            &#x22;7291180&#x22;: &#x22;9755499&#x22;,
            &#x22;7291181&#x22;: &#x22;9755503&#x22;,
            &#x22;7291182&#x22;: &#x22;9755507&#x22;,
            &#x22;7331140&#x22;: &#x22;vampire&#x22;,
            &#x22;7331142&#x22;: 6,
            &#x22;7331149&#x22;: &#x22;4/26/2019&#x22;,
            &#x22;7331150&#x22;: &#x22;588-765-3442&#x22;,
            &#x22;7367279&#x22;: &#x22;9877740&#x22;,
            &#x22;7367280&#x22;: &#x22;9877742&#x22;,
            &#x22;7367329&#x22;: &#x22;forestttt&#x22;,
            &#x22;seekerName&#x22;: &#x22;Jalen Jackson&#x22;,
            &#x22;seekerDate&#x22;: &#x22;4/26/2019&#x22;
          },
          &#x22;resume&#x22;: {
            &#x22;fileName&#x22;: &#x22;awesome-resume.pdf&#x22;,
            &#x22;base64&#x22;: &#x22;SmFsZW5zIHJlc3VtZQ==&#x22;
          },
          &#x22;email&#x22;: email,
          &#x22;jobDID&#x22;: &#x22;JHV53G6G77LC42J2W4C&#x22;,
          &#x22;tracking&#x22;: {},
          &#x22;device&#x22;:&#x22;desktop&#x22;,
          &#x22;userAgent&#x22;:&#x22;Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36&#x22;
        })
        .set(&#x27;Accept&#x27;, &#x27;application/json&#x27;)
        .set(&#x27;Authorization&#x27;, token)
        .expect(200);
      expect(res.body.message).to.be.eql(&#x27;Application submitted.&#x27;);
      return;
    }</code></pre></li></ul></li><li class="suite"><h1>/POST apply request without resume</h1><ul><li class="test pass slow"><h2>it should send 422 status<span class="duration">1238ms</span></h2><pre><code>async function () {
      const res = await request(baseUrl)
        .post(&#x27;services/apply&#x27;)
        .send({
          &#x22;firstName&#x22;: &#x22;testing&#x22;,
          &#x22;lastName&#x22;: &#x22;Reusme&#x22;,
          &#x22;sourceid&#x22;: null,
          &#x22;language&#x22;: &#x22;en&#x22;,
          &#x22;coverLetter&#x22;: null,
          &#x22;email&#x22;: &#x22;[email protected]&#x22;,
          &#x22;jobDID&#x22;: &#x22;JHV53G6G77LC42J2W4C&#x22;,
          &#x22;tracking&#x22;: {
            &#x22;VID&#x22;: &#x22;VX18158CB0FD8311EABE394901EE5EFF1F3580QJ&#x22;,
            &#x22;iPath&#x22;: &#x22;CRARBQ&#x22;,
            &#x22;siteID&#x22;: &#x22;cbnsv&#x22;,
            &#x22;hostSite&#x22;: &#x22;US&#x22;
          },
          &#x22;screenerParams&#x22;: {
            &#x22;seekeerName&#x22;: &#x22;testing Reusme&#x22;,
            &#x22;email&#x22;: &#x22;[email protected]&#x22;
          }
        })
        .set(&#x27;Accept&#x27;, &#x27;application/json&#x27;)
        .set(&#x27;Authorization&#x27;, token)
        .expect(422);
      expect(res.text).to.be.eql(&#x27;{&#x22;status&#x22;:422,&#x22;message&#x22;:&#x22;Cannot Proceed. No resume was attached&#x22;}&#x27;);
      return;
    }</code></pre></li></ul></li><li class="suite"><h1>/POST apply request without emailID</h1><ul><li class="test pass slow"><h2>it should send 422 status<span class="duration">1279ms</span></h2><pre><code>async function () {
      const res = await request(baseUrl)
        .post(&#x27;services/apply&#x27;)
        .send({
          &#x22;firstName&#x22;: &#x22;testing&#x22;,
          &#x22;lastName&#x22;: &#x22;Reusme&#x22;,
          &#x22;sourceid&#x22;: null,
          &#x22;language&#x22;: &#x22;en&#x22;,
          &#x22;coverLetter&#x22;: null,
          &#x22;jobDID&#x22;: &#x22;JHV53G6G77LC42J2W4C&#x22;,
          &#x22;resume&#x22;: {
            &#x22;externalUserID&#x22;: &#x22;XRCL5R66V4F25PNCQ647&#x22;,
            &#x22;externalResumeID&#x22;: &#x22;XRDF0J46M0BFFRP14NPM&#x22;
          },
          &#x22;tracking&#x22;: {
            &#x22;VID&#x22;: &#x22;VX18158CB0FD8311EABE394901EE5EFF1F3580QJ&#x22;,
            &#x22;iPath&#x22;: &#x22;CRARBQ&#x22;,
            &#x22;siteID&#x22;: &#x22;cbnsv&#x22;,
            &#x22;hostSite&#x22;: &#x22;US&#x22;
          },
          &#x22;screenerParams&#x22;: {
            &#x22;seekeerName&#x22;: &#x22;testing Reusme&#x22;,
            &#x22;email&#x22;: &#x22;[email protected]&#x22;
          }
        })
        .set(&#x27;Accept&#x27;, &#x27;application/json&#x27;)
        .set(&#x27;Authorization&#x27;, token)
        .expect(422);
      expect(res.text).to.be.eql(&#x27;{&#x22;status&#x22;:422,&#x22;message&#x22;:&#x22;No email present in the request&#x22;}&#x27;);
      return;
    }</code></pre></li></ul></li><li class="suite"><h1>/POST apply request without JobDID</h1><ul><li class="test pass slow"><h2>it should send 422 status<span class="duration">1315ms</span></h2><pre><code>async function () {
      const res = await request(baseUrl)
        .post(&#x27;services/apply&#x27;)
        .send({
          &#x22;firstName&#x22;: &#x22;testing&#x22;,
          &#x22;lastName&#x22;: &#x22;Reusme&#x22;,
          &#x22;sourceid&#x22;: null,
          &#x22;language&#x22;: &#x22;en&#x22;,
          &#x22;coverLetter&#x22;: null,
          &#x22;email&#x22;: &#x22;[email protected]&#x22;,
          &#x22;resume&#x22;: {
            &#x22;externalUserID&#x22;: &#x22;XRCL5R66V4F25PNCQ647&#x22;,
            &#x22;externalResumeID&#x22;: &#x22;XRDF0J46M0BFFRP14NPM&#x22;
          },
          &#x22;tracking&#x22;: {
            &#x22;VID&#x22;: &#x22;VX18158CB0FD8311EABE394901EE5EFF1F3580QJ&#x22;,
            &#x22;iPath&#x22;: &#x22;CRARBQ&#x22;,
            &#x22;siteID&#x22;: &#x22;cbnsv&#x22;,
            &#x22;hostSite&#x22;: &#x22;US&#x22;
          },
          &#x22;screenerParams&#x22;: {
            &#x22;seekeerName&#x22;: &#x22;testing Reusme&#x22;,
            &#x22;email&#x22;: &#x22;[email protected]&#x22;
          }
        })
        .set(&#x27;Accept&#x27;, &#x27;application/json&#x27;)
        .set(&#x27;Authorization&#x27;, token)
        .expect(422);
      expect(res.text).to.be.eql(&#x27;{&#x22;status&#x22;:422,&#x22;message&#x22;:&#x22;Please provide a valid jobDID&#x22;}&#x27;);
      return;
    }</code></pre></li></ul></li><li class="suite"><h1>/POST apply request with valid TNDID</h1><ul><li class="test pass slow"><h2>it should send 200 status<span class="duration">2903ms</span></h2><pre><code>async function () {
      let email = chars[Math.floor(Math.random()*26)]   Math.random().toString(36).substring(2,11)   &#x27;@gmail.com&#x27;;
      const res = await request(baseUrl)
        .post(&#x27;services/apply&#x27;)
        .send({
          &#x22;firstName&#x22;: &#x22;Aviral&#x22;,
          &#x22;lastName&#x22;: &#x22;Testing&#x22;,
          &#x22;sourceid&#x22;: 48,
          &#x22;language&#x22;: &#x22;en&#x22;,
          &#x22;coverLetter&#x22;: &#x22;Testing cover letter&#x22;,
          &#x22;screenerParams&#x22;: {
            &#x22;7232706&#x22;: &#x22;9657234&#x22;,
            &#x22;7291179&#x22;: &#x22;9755492&#x22;,
            &#x22;7291180&#x22;: &#x22;9755499&#x22;,
            &#x22;7291181&#x22;: &#x22;9755503&#x22;,
            &#x22;7291182&#x22;: &#x22;9755507&#x22;,
            &#x22;7331140&#x22;: &#x22;vampire&#x22;,
            &#x22;7331142&#x22;: 6,
            &#x22;7331149&#x22;: &#x22;4/26/2019&#x22;,
            &#x22;7331150&#x22;: &#x22;588-765-3442&#x22;,
            &#x22;7367279&#x22;: &#x22;9877740&#x22;,
            &#x22;7367280&#x22;: &#x22;9877742&#x22;,
            &#x22;7367329&#x22;: &#x22;forestttt&#x22;,
            &#x22;seekerName&#x22;: &#x22;Aviral Mani&#x22;,
            &#x22;seekerDate&#x22;: &#x22;4/26/2019&#x22;
          },
          &#x22;resume&#x22;: {
            &#x22;fileName&#x22;: &#x22;awesome-resume.pdf&#x22;,
            &#x22;base64&#x22;: &#x22;SmFsZW5zIHJlc3VtZQ==&#x22;
          },
          &#x22;email&#x22;: email,
          &#x22;jobDID&#x22;: &#x22;JHV53G6G77LC42J2W4C&#x22;,
          &#x22;tnDID&#x22;: &#x22;TNFT0JJQ52HZ8HRLL0D0&#x22;,
          &#x22;tracking&#x22;: {},
          &#x22;device&#x22;:&#x22;desktop&#x22;,
          &#x22;userAgent&#x22;:&#x22;Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36&#x22;
        })
        .set(&#x27;Accept&#x27;, &#x27;application/json&#x27;)
        .set(&#x27;Authorization&#x27;, token)
        .expect(200);
      return;
    }</code></pre></li></ul></li><li class="suite"><h1>/POST apply request with invalid TNDID</h1><ul><li class="test pass slow"><h2>it should send 422 status<span class="duration">2370ms</span></h2><pre><code>async function () {
      const res = await request(baseUrl)
        .post(&#x27;services/apply&#x27;)
        .send({
          &#x22;firstName&#x22;: &#x22;Aviral&#x22;,
          &#x22;lastName&#x22;: &#x22;Testing&#x22;,
          &#x22;sourceid&#x22;: 48,
          &#x22;language&#x22;: &#x22;en&#x22;,
          &#x22;coverLetter&#x22;: &#x22;Testing cover letter&#x22;,
          &#x22;screenerParams&#x22;: {
            &#x22;7232706&#x22;: &#x22;9657234&#x22;,
            &#x22;7291179&#x22;: &#x22;9755492&#x22;,
            &#x22;7291180&#x22;: &#x22;9755499&#x22;,
            &#x22;7291181&#x22;: &#x22;9755503&#x22;,
            &#x22;7291182&#x22;: &#x22;9755507&#x22;,
            &#x22;7331140&#x22;: &#x22;vampire&#x22;,
            &#x22;7331142&#x22;: 6,
            &#x22;7331149&#x22;: &#x22;4/26/2019&#x22;,
            &#x22;7331150&#x22;: &#x22;588-765-3442&#x22;,
            &#x22;7367279&#x22;: &#x22;9877740&#x22;,
            &#x22;7367280&#x22;: &#x22;9877742&#x22;,
            &#x22;7367329&#x22;: &#x22;forestttt&#x22;,
            &#x22;seekerName&#x22;: &#x22;Aviral Mani&#x22;,
            &#x22;seekerDate&#x22;: &#x22;4/26/2019&#x22;
          },
          &#x22;resume&#x22;: {
            &#x22;fileName&#x22;: &#x22;awesome-resume.pdf&#x22;,
            &#x22;base64&#x22;: &#x22;SmFsZW5zIHJlc3VtZQ==&#x22;
          },
          &#x22;email&#x22;: &#x22;[email protected]&#x22;,
          &#x22;jobDID&#x22;: &#x22;JHV53G6G77LC42J2W4C&#x22;,
          &#x22;tnDID&#x22;: &#x22;someINVAILD&#x22;,
          &#x22;tracking&#x22;: {}
        })
        .set(&#x27;Accept&#x27;, &#x27;application/json&#x27;)
        .set(&#x27;Authorization&#x27;, token)
        .expect(422);
      expect(res.text).to.be.eql(&#x27;&#x22;{\\&#x22;error\\&#x22;:true,\\&#x22;message\\&#x22;:\\&#x22;Invalid jobDID or tnDID\\&#x22;}&#x22;&#x27;);
      return;
    }</code></pre></li></ul></li><li class="suite"><h1>/POST apply request without required screeners</h1><ul><li class="test fail"><h2>it should send 422 status</h2><pre><code>async function () {
      const res = await request(baseUrl)
        .post(&#x27;services/apply&#x27;)
        .send({
          &#x22;firstName&#x22;: &#x22;Aviral&#x22;,
          &#x22;lastName&#x22;: &#x22;Testing&#x22;,
          &#x22;sourceid&#x22;: 48,
          &#x22;language&#x22;: &#x22;en&#x22;,
          &#x22;coverLetter&#x22;: &#x22;Testing cover letter&#x22;,
          &#x22;resume&#x22;: {
            &#x22;fileName&#x22;: &#x22;awesome-resume.pdf&#x22;,
            &#x22;base64&#x22;: &#x22;SmFsZW5zIHJlc3VtZQ==&#x22;
          },
          &#x22;email&#x22;: &#x22;[email protected]&#x22;,
          &#x22;jobDID&#x22;: &#x22;J2S7RM600YJ88HF5YKT&#x22;,
          &#x22;tracking&#x22;: {}
        })
        .set(&#x27;Accept&#x27;, &#x27;application/json&#x27;)
        .set(&#x27;Authorization&#x27;, token)
        .expect(422);
      expect(res.text).to.be.eql(&#x27;{&#x22;status&#x22;:422,&#x22;message&#x22;:&#x22;This job requires screeners. Please add screener params to the req body.&#x22;}&#x27;);
      return;
    }</code></pre><pre class="error">Error: expected &#x27;{&#x22;status&#x22;:422,&#x22;message&#x22;:&#x22;The job you requested was not found or expired&#x22;}&#x27; to sort of equal &#x27;{&#x22;status&#x22;:422,&#x22;message&#x22;:&#x22;This job requires screeners. Please add screener params to the req body.&#x22;}&#x27;
    at Assertion.assert (node_modules/expect.js/index.js:96:13)
    at Assertion.eql (node_modules/expect.js/index.js:230:10)
    at Function.eql (node_modules/expect.js/index.js:499:17)
    at Context.&#x3C;anonymous&#x3E; (test/apply.test.js:319:30)
    at processTicksAndRejections (internal/process/task_queues.js:93:5)</pre></li></ul></li></ul></li></ul>
        </div>
        <script>
    function hideSuitesWithout(className) {
var suites = document.querySelectorAll('#report > .suite');

for (var i = 0; i < suites.length; i  ) {
    let suite = suites[i];

    var els = suite.getElementsByClassName(className);
    if (!els.length) {
        suite.classList.add('hidden');
    }
}
}

function unhide() {
    var suites = document.getElementsByClassName('suite hidden');

    while (suites.length) {
        suites[0].classList.remove('hidden');
    }
}

function togglePasses() {
    var report = document.getElementById('report');

    report.classList.toggle('hide-passes');

    if (report.classList.contains('hide-passes')) {
        hideSuitesWithout('test fail');
    } else {
        unhide();
    }
}

document.getElementById('toggle-passes').addEventListener('click', function(e) {
    e.preventDefault();
    
    this.classList.toggle('checked');

    togglePasses();
});

var tests = document.getElementsByClassName('test');

for (var i = 0; i < tests.length; i  ) {
    var elem = tests[i];
    var head = elem.children[0];

    head.onclick = function () {
        var code = this.parentElement.children[1];
        var display = code.style.display;

        if (display && display === 'block') {
            code.style.display = 'none';
        } else {
            code.style.display = 'block';
        }
    };
}
        </script>
    </body>
</html>

單擊按鈕時元素未隱藏

uj5u.com熱心網友回復:

 
<html>
    <head>
        <title>Mocha</title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <style type="text/css">
        @charset "utf-8";

body {
  margin:0;
}

#mocha {
  font: 20px/1.5 "Helvetica Neue", Helvetica, Arial, sans-serif;
  margin: 60px 50px;
}

#mocha ul,
#mocha li {
  margin: 0;
  padding: 0;
}

#mocha ul {
  list-style: none;
}

#mocha h1,
#mocha h2 {
  margin: 0;
}

#mocha h1 {
  margin-top: 15px;
  font-size: 1em;
  font-weight: 200;
}

#mocha h1 a {
  text-decoration: none;
  color: inherit;
}

#mocha h1 a:hover {
  text-decoration: underline;
}

#mocha .suite .suite h1 {
  margin-top: 0;
  font-size: .8em;
}

#mocha .hidden {
  display: none;
}

#mocha h2 {
  font-size: 12px;
  font-weight: normal;
  cursor: pointer;
}

#mocha .suite {
  margin-left: 15px;
}

#mocha .test {
  margin-left: 15px;
  overflow: hidden;
}

#mocha .test.pending:hover h2::after {
  content: '(pending)';
  font-family: arial, sans-serif;
}

#mocha .test.pass.medium .duration {
  background: #c09853;
}

#mocha .test.pass.slow .duration {
  background: #b94a48;
}

#mocha .test.pass::before {
  content: '?';
  font-size: 12px;
  display: block;
  float: left;
  margin-right: 5px;
  color: #00d6b2;
}

#mocha .test.pass .duration {
  font-size: 9px;
  margin-left: 5px;
  padding: 2px 5px;
  color: #fff;
  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.2);
  -moz-box-shadow: inset 0 1px 1px rgba(0,0,0,.2);
  box-shadow: inset 0 1px 1px rgba(0,0,0,.2);
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
  border-radius: 5px;
}

#mocha .test.pass.fast .duration {
  display: none;
}

#mocha .test.pending {
  color: #0b97c4;
}

#mocha .test.pending::before {
  content: '?';
  color: #0b97c4;
}

#mocha .test.fail {
  color: #c00;
}

#mocha .test.fail pre {
  color: black;
}

#mocha .test.fail::before {
  content: '?';
  font-size: 12px;
  display: block;
  float: left;
  margin-right: 5px;
  color: #c00;
}

#mocha .test pre.error {
  color: #c00;
  max-height: 300px;
  overflow: auto;
}

#mocha .test .html-error {
  overflow: auto;
  color: black;
  display: block;
  float: left;
  clear: left;
  font: 12px/1.5 monaco, monospace;
  margin: 5px;
  padding: 15px;
  border: 1px solid #eee;
  max-width: 85%; /*(1)*/
  max-width: -webkit-calc(100% - 42px);
  max-width: -moz-calc(100% - 42px);
  max-width: calc(100% - 42px); /*(2)*/
  max-height: 300px;
  word-wrap: break-word;
  border-bottom-color: #ddd;
  -webkit-box-shadow: 0 1px 3px #eee;
  -moz-box-shadow: 0 1px 3px #eee;
  box-shadow: 0 1px 3px #eee;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
}

#mocha .test .html-error pre.error {
  border: none;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  -webkit-box-shadow: 0;
  -moz-box-shadow: 0;
  box-shadow: 0;
  padding: 0;
  margin: 0;
  margin-top: 18px;
  max-height: none;
}

/**
 * (1): approximate for browsers not supporting calc
 * (2): 42 = 2*15   2*10   2*1 (padding   margin   border)
 *      ^^ seriously
 */
#mocha .test pre {
  display: block;
  float: left;
  clear: left;
  font: 12px/1.5 monaco, monospace;
  margin: 5px;
  padding: 15px;
  border: 1px solid #eee;
  max-width: 85%; /*(1)*/
  max-width: -webkit-calc(100% - 42px);
  max-width: -moz-calc(100% - 42px);
  max-width: calc(100% - 42px); /*(2)*/
  word-wrap: break-word;
  border-bottom-color: #ddd;
  -webkit-box-shadow: 0 1px 3px #eee;
  -moz-box-shadow: 0 1px 3px #eee;
  box-shadow: 0 1px 3px #eee;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
}

#mocha .test h2 {
  position: relative;
}

#mocha .test a.replay {
  position: absolute;
  top: 3px;
  right: 0;
  text-decoration: none;
  vertical-align: middle;
  display: block;
  width: 15px;
  height: 15px;
  line-height: 15px;
  text-align: center;
  background: #eee;
  font-size: 15px;
  -webkit-border-radius: 15px;
  -moz-border-radius: 15px;
  border-radius: 15px;
  -webkit-transition:opacity 200ms;
  -moz-transition:opacity 200ms;
  -o-transition:opacity 200ms;
  transition: opacity 200ms;
  opacity: 0.3;
  color: #888;
}

#mocha .test:hover a.replay {
  opacity: 1;
}

#mocha-report.pass .test.fail {
  display: none;
}

#mocha-report.fail .test.pass {
  display: none;
}

#mocha-report.pending .test.pass,
#mocha-report.pending .test.fail {
  display: none;
}
#mocha-report.pending .test.pass.pending {
  display: block;
}

#mocha-error {
  color: #c00;
  font-size: 1.5em;
  font-weight: 100;
  letter-spacing: 1px;
}

#mocha-stats {
  position: fixed;
  top: 15px;
  right: 10px;
  font-size: 12px;
  margin: 0;
  color: #888;
  z-index: 1;
}

#mocha-stats .progress {
  float: right;
  padding-top: 0;

  /**
   * Set safe initial values, so mochas .progress does not inherit these
   * properties from Bootstrap .progress (which causes .progress height to
   * equal line height set in Bootstrap).
   */
  height: auto;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
  background-color: initial;
}

#mocha-stats em {
  color: black;
}

#mocha-stats a {
  text-decoration: none;
  color: inherit;
}

#mocha-stats a:hover {
  border-bottom: 1px solid #eee;
}

#mocha-stats li {
  display: inline-block;
  margin: 0 5px;
  list-style: none;
  padding-top: 11px;
}

#mocha-stats canvas {
  width: 40px;
  height: 40px;
}

#mocha code .comment { color: #ddd; }
#mocha code .init { color: #2f6fad; }
#mocha code .string { color: #5890ad; }
#mocha code .keyword { color: #8a6343; }
#mocha code .number { color: #2f6fad; }

@media screen and (max-device-width: 480px) {
  #mocha {
    margin: 60px 0px;
  }

  #mocha #stats {
    position: absolute;
  }
}
#mocha .test.pass pre {
    display: none;
}

#mocha .test.fail pre {
    display: none;
}

#mocha .test pre.error {
    display: block;
}

#mocha .test .html-error pre.error {
    box-shadow: none;
}

#mocha .test:hover h2:after {
    color: #888888;
    content: "(view source)";
    font-family: arial;
    font-size: 12px;
    position: relative;
    right: -10px;
    top: 0;
}

#mocha .test.pass.pending h2 {
    cursor: auto;
}

#mocha .mocha-header {
    right: 30px;
    position: fixed;
    top: 15px;
    font-size: 14px;
    margin: 0;
    color: #888;
    z-index: 1;
}

#mocha .mocha-header em {
    font-style: normal;
    color: black;
}

#mocha .mocha-header ul {
    display: inline-block;
}

#mocha .mocha-stats li {
    display: inline-block;
    margin: 0 5px;
    list-style: none;
    padding-top: 11px;
}

#mocha .mocha-menu {
    margin-right: 10px;
}

#mocha .mocha-menu li {
    display: inline-block;
    margin-left: 10px;
    list-style: none;
}

#mocha .mocha-menu li span {
    display: inline-block;
    cursor: pointer;
    color: #fff;
    font-size: 14px;
    padding: 3px 7px 2px;
    box-shadow: 1px 1px 3px rgba(0,0,0,.2);
    border-radius: 5px;
    user-select: none;
}

#mocha .mocha-menu li span.checked {
    box-shadow: inset 1px 1px 3px rgba(0,0,0,.2);
}

#mocha .toggle-passes {
    background: #b94a48;
}

        </style>
    </head>
    <body>
        <div id="mocha">
            <div class="mocha-header">
                <ul class="mocha-menu">
                    <li><span id="toggle-passes" class="toggle-passes">show failures only</span></li>
                </ul>
                <ul class="mocha-stats">
                    <li class="passes">passes: <em>6</em></li>
                    <li class="pending">pending: <em>1</em></li>
                    <li class="failures">failures: <em>1</em></li>
                    <li class="duration">duration: <em>15.3s</em></li>
                </ul>
            </div>
            <ul id="report"><li class="suite"><h1>Tests for apply(submit) endpoint.</h1><ul><li class="suite"><h1>/POST apply valid request with externalResumeID</h1><ul><li class="test pass pending"><h2>it should send 200 status</h2></li></ul></li><li class="suite"><h1>/POST apply valid request with base64</h1><ul><li class="test pass slow"><h2>it should send 200 status<span class="duration">2401ms</span></h2><pre><code>async function () {
      let email = chars[Math.floor(Math.random()*26)]   Math.random().toString(36).substring(2,11)   &#x27;@gmail.com&#x27;;
      const res = await request(baseUrl)
        .post(&#x27;services/apply&#x27;)
        .send({
          &#x22;firstName&#x22;: &#x22;Manny&#x22;,
          &#x22;lastName&#x22;: &#x22;Jackson&#x22;,
          &#x22;sourceid&#x22;: 48,
          &#x22;language&#x22;: &#x22;en&#x22;,
          &#x22;coverLetter&#x22;: &#x22;Testing cover letter&#x22;,
          &#x22;screenerParams&#x22;: {
            &#x22;7232706&#x22;: &#x22;9657234&#x22;,
            &#x22;7291179&#x22;: &#x22;9755492&#x22;,
            &#x22;7291180&#x22;: &#x22;9755499&#x22;,
            &#x22;7291181&#x22;: &#x22;9755503&#x22;,
            &#x22;7291182&#x22;: &#x22;9755507&#x22;,
            &#x22;7331140&#x22;: &#x22;vampire&#x22;,
            &#x22;7331142&#x22;: 6,
            &#x22;7331149&#x22;: &#x22;4/26/2019&#x22;,
            &#x22;7331150&#x22;: &#x22;588-765-3442&#x22;,
            &#x22;7367279&#x22;: &#x22;9877740&#x22;,
            &#x22;7367280&#x22;: &#x22;9877742&#x22;,
            &#x22;7367329&#x22;: &#x22;forestttt&#x22;,
            &#x22;seekerName&#x22;: &#x22;Jalen Jackson&#x22;,
            &#x22;seekerDate&#x22;: &#x22;4/26/2019&#x22;
          },
          &#x22;resume&#x22;: {
            &#x22;fileName&#x22;: &#x22;awesome-resume.pdf&#x22;,
            &#x22;base64&#x22;: &#x22;SmFsZW5zIHJlc3VtZQ==&#x22;
          },
          &#x22;email&#x22;: email,
          &#x22;jobDID&#x22;: &#x22;JHV53G6G77LC42J2W4C&#x22;,
          &#x22;tracking&#x22;: {},
          &#x22;device&#x22;:&#x22;desktop&#x22;,
          &#x22;userAgent&#x22;:&#x22;Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36&#x22;
        })
        .set(&#x27;Accept&#x27;, &#x27;application/json&#x27;)
        .set(&#x27;Authorization&#x27;, token)
        .expect(200);
      expect(res.body.message).to.be.eql(&#x27;Application submitted.&#x27;);
      return;
    }</code></pre></li></ul></li><li class="suite"><h1>/POST apply request without resume</h1><ul><li class="test pass slow"><h2>it should send 422 status<span class="duration">1238ms</span></h2><pre><code>async function () {
      const res = await request(baseUrl)
        .post(&#x27;services/apply&#x27;)
        .send({
          &#x22;firstName&#x22;: &#x22;testing&#x22;,
          &#x22;lastName&#x22;: &#x22;Reusme&#x22;,
          &#x22;sourceid&#x22;: null,
          &#x22;language&#x22;: &#x22;en&#x22;,
          &#x22;coverLetter&#x22;: null,
          &#x22;email&#x22;: &#x22;[email protected]&#x22;,
          &#x22;jobDID&#x22;: &#x22;JHV53G6G77LC42J2W4C&#x22;,
          &#x22;tracking&#x22;: {
            &#x22;VID&#x22;: &#x22;VX18158CB0FD8311EABE394901EE5EFF1F3580QJ&#x22;,
            &#x22;iPath&#x22;: &#x22;CRARBQ&#x22;,
            &#x22;siteID&#x22;: &#x22;cbnsv&#x22;,
            &#x22;hostSite&#x22;: &#x22;US&#x22;
          },
          &#x22;screenerParams&#x22;: {
            &#x22;seekeerName&#x22;: &#x22;testing Reusme&#x22;,
            &#x22;email&#x22;: &#x22;[email protected]&#x22;
          }
        })
        .set(&#x27;Accept&#x27;, &#x27;application/json&#x27;)
        .set(&#x27;Authorization&#x27;, token)
        .expect(422);
      expect(res.text).to.be.eql(&#x27;{&#x22;status&#x22;:422,&#x22;message&#x22;:&#x22;Cannot Proceed. No resume was attached&#x22;}&#x27;);
      return;
    }</code></pre></li></ul></li><li class="suite"><h1>/POST apply request without emailID</h1><ul><li class="test pass slow"><h2>it should send 422 status<span class="duration">1279ms</span></h2><pre><code>async function () {
      const res = await request(baseUrl)
        .post(&#x27;services/apply&#x27;)
        .send({
          &#x22;firstName&#x22;: &#x22;testing&#x22;,
          &#x22;lastName&#x22;: &#x22;Reusme&#x22;,
          &#x22;sourceid&#x22;: null,
          &#x22;language&#x22;: &#x22;en&#x22;,
          &#x22;coverLetter&#x22;: null,
          &#x22;jobDID&#x22;: &#x22;JHV53G6G77LC42J2W4C&#x22;,
          &#x22;resume&#x22;: {
            &#x22;externalUserID&#x22;: &#x22;XRCL5R66V4F25PNCQ647&#x22;,
            &#x22;externalResumeID&#x22;: &#x22;XRDF0J46M0BFFRP14NPM&#x22;
          },
          &#x22;tracking&#x22;: {
            &#x22;VID&#x22;: &#x22;VX18158CB0FD8311EABE394901EE5EFF1F3580QJ&#x22;,
            &#x22;iPath&#x22;: &#x22;CRARBQ&#x22;,
            &#x22;siteID&#x22;: &#x22;cbnsv&#x22;,
            &#x22;hostSite&#x22;: &#x22;US&#x22;
          },
          &#x22;screenerParams&#x22;: {
            &#x22;seekeerName&#x22;: &#x22;testing Reusme&#x22;,
            &#x22;email&#x22;: &#x22;[email protected]&#x22;
          }
        })
        .set(&#x27;Accept&#x27;, &#x27;application/json&#x27;)
        .set(&#x27;Authorization&#x27;, token)
        .expect(422);
      expect(res.text).to.be.eql(&#x27;{&#x22;status&#x22;:422,&#x22;message&#x22;:&#x22;No email present in the request&#x22;}&#x27;);
      return;
    }</code></pre></li></ul></li><li class="suite"><h1>/POST apply request without JobDID</h1><ul><li class="test pass slow"><h2>it should send 422 status<span class="duration">1315ms</span></h2><pre><code>async function () {
      const res = await request(baseUrl)
        .post(&#x27;services/apply&#x27;)
        .send({
          &#x22;firstName&#x22;: &#x22;testing&#x22;,
          &#x22;lastName&#x22;: &#x22;Reusme&#x22;,
          &#x22;sourceid&#x22;: null,
          &#x22;language&#x22;: &#x22;en&#x22;,
          &#x22;coverLetter&#x22;: null,
          &#x22;email&#x22;: &#x22;[email protected]&#x22;,
          &#x22;resume&#x22;: {
            &#x22;externalUserID&#x22;: &#x22;XRCL5R66V4F25PNCQ647&#x22;,
            &#x22;externalResumeID&#x22;: &#x22;XRDF0J46M0BFFRP14NPM&#x22;
          },
          &#x22;tracking&#x22;: {
            &#x22;VID&#x22;: &#x22;VX18158CB0FD8311EABE394901EE5EFF1F3580QJ&#x22;,
            &#x22;iPath&#x22;: &#x22;CRARBQ&#x22;,
            &#x22;siteID&#x22;: &#x22;cbnsv&#x22;,
            &#x22;hostSite&#x22;: &#x22;US&#x22;
          },
          &#x22;screenerParams&#x22;: {
            &#x22;seekeerName&#x22;: &#x22;testing Reusme&#x22;,
            &#x22;email&#x22;: &#x22;[email protected]&#x22;
          }
        })
        .set(&#x27;Accept&#x27;, &#x27;application/json&#x27;)
        .set(&#x27;Authorization&#x27;, token)
        .expect(422);
      expect(res.text).to.be.eql(&#x27;{&#x22;status&#x22;:422,&#x22;message&#x22;:&#x22;Please provide a valid jobDID&#x22;}&#x27;);
      return;
    }</code></pre></li></ul></li><li class="suite"><h1>/POST apply request with valid TNDID</h1><ul><li class="test pass slow"><h2>it should send 200 status<span class="duration">2903ms</span></h2><pre><code>async function () {
      let email = chars[Math.floor(Math.random()*26)]   Math.random().toString(36).substring(2,11)   &#x27;@gmail.com&#x27;;
      const res = await request(baseUrl)
        .post(&#x27;services/apply&#x27;)
        .send({
          &#x22;firstName&#x22;: &#x22;Aviral&#x22;,
          &#x22;lastName&#x22;: &#x22;Testing&#x22;,
          &#x22;sourceid&#x22;: 48,
          &#x22;language&#x22;: &#x22;en&#x22;,
          &#x22;coverLetter&#x22;: &#x22;Testing cover letter&#x22;,
          &#x22;screenerParams&#x22;: {
            &#x22;7232706&#x22;: &#x22;9657234&#x22;,
            &#x22;7291179&#x22;: &#x22;9755492&#x22;,
            &#x22;7291180&#x22;: &#x22;9755499&#x22;,
            &#x22;7291181&#x22;: &#x22;9755503&#x22;,
            &#x22;7291182&#x22;: &#x22;9755507&#x22;,
            &#x22;7331140&#x22;: &#x22;vampire&#x22;,
            &#x22;7331142&#x22;: 6,
            &#x22;7331149&#x22;: &#x22;4/26/2019&#x22;,
            &#x22;7331150&#x22;: &#x22;588-765-3442&#x22;,
            &#x22;7367279&#x22;: &#x22;9877740&#x22;,
            &#x22;7367280&#x22;: &#x22;9877742&#x22;,
            &#x22;7367329&#x22;: &#x22;forestttt&#x22;,
            &#x22;seekerName&#x22;: &#x22;Aviral Mani&#x22;,
            &#x22;seekerDate&#x22;: &#x22;4/26/2019&#x22;
          },
          &#x22;resume&#x22;: {
            &#x22;fileName&#x22;: &#x22;awesome-resume.pdf&#x22;,
            &#x22;base64&#x22;: &#x22;SmFsZW5zIHJlc3VtZQ==&#x22;
          },
          &#x22;email&#x22;: email,
          &#x22;jobDID&#x22;: &#x22;JHV53G6G77LC42J2W4C&#x22;,
          &#x22;tnDID&#x22;: &#x22;TNFT0JJQ52HZ8HRLL0D0&#x22;,
          &#x22;tracking&#x22;: {},
          &#x22;device&#x22;:&#x22;desktop&#x22;,
          &#x22;userAgent&#x22;:&#x22;Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36&#x22;
        })
        .set(&#x27;Accept&#x27;, &#x27;application/json&#x27;)
        .set(&#x27;Authorization&#x27;, token)
        .expect(200);
      return;
    }</code></pre></li></ul></li><li class="suite"><h1>/POST apply request with invalid TNDID</h1><ul><li class="test pass slow"><h2>it should send 422 status<span class="duration">2370ms</span></h2><pre><code>async function () {
      const res = await request(baseUrl)
        .post(&#x27;services/apply&#x27;)
        .send({
          &#x22;firstName&#x22;: &#x22;Aviral&#x22;,
          &#x22;lastName&#x22;: &#x22;Testing&#x22;,
          &#x22;sourceid&#x22;: 48,
          &#x22;language&#x22;: &#x22;en&#x22;,
          &#x22;coverLetter&#x22;: &#x22;Testing cover letter&#x22;,
          &#x22;screenerParams&#x22;: {
            &#x22;7232706&#x22;: &#x22;9657234&#x22;,
            &#x22;7291179&#x22;: &#x22;9755492&#x22;,
            &#x22;7291180&#x22;: &#x22;9755499&#x22;,
            &#x22;7291181&#x22;: &#x22;9755503&#x22;,
            &#x22;7291182&#x22;: &#x22;9755507&#x22;,
            &#x22;7331140&#x22;: &#x22;vampire&#x22;,
            &#x22;7331142&#x22;: 6,
            &#x22;7331149&#x22;: &#x22;4/26/2019&#x22;,
            &#x22;7331150&#x22;: &#x22;588-765-3442&#x22;,
            &#x22;7367279&#x22;: &#x22;9877740&#x22;,
            &#x22;7367280&#x22;: &#x22;9877742&#x22;,
            &#x22;7367329&#x22;: &#x22;forestttt&#x22;,
            &#x22;seekerName&#x22;: &#x22;Aviral Mani&#x22;,
            &#x22;seekerDate&#x22;: &#x22;4/26/2019&#x22;
          },
          &#x22;resume&#x22;: {
            &#x22;fileName&#x22;: &#x22;awesome-resume.pdf&#x22;,
            &#x22;base64&#x22;: &#x22;SmFsZW5zIHJlc3VtZQ==&#x22;
          },
          &#x22;email&#x22;: &#x22;[email protected]&#x22;,
          &#x22;jobDID&#x22;: &#x22;JHV53G6G77LC42J2W4C&#x22;,
          &#x22;tnDID&#x22;: &#x22;someINVAILD&#x22;,
          &#x22;tracking&#x22;: {}
        })
        .set(&#x27;Accept&#x27;, &#x27;application/json&#x27;)
        .set(&#x27;Authorization&#x27;, token)
        .expect(422);
      expect(res.text).to.be.eql(&#x27;&#x22;{\\&#x22;error\\&#x22;:true,\\&#x22;message\\&#x22;:\\&#x22;Invalid jobDID or tnDID\\&#x22;}&#x22;&#x27;);
      return;
    }</code></pre></li></ul></li><li class="suite"><h1>/POST apply request without required screeners</h1><ul><li class="test fail"><h2>it should send 422 status</h2><pre><code>async function () {
      const res = await request(baseUrl)
        .post(&#x27;services/apply&#x27;)
        .send({
          &#x22;firstName&#x22;: &#x22;Aviral&#x22;,
          &#x22;lastName&#x22;: &#x22;Testing&#x22;,
          &#x22;sourceid&#x22;: 48,
          &#x22;language&#x22;: &#x22;en&#x22;,
          &#x22;coverLetter&#x22;: &#x22;Testing cover letter&#x22;,
          &#x22;resume&#x22;: {
            &#x22;fileName&#x22;: &#x22;awesome-resume.pdf&#x22;,
            &#x22;base64&#x22;: &#x22;SmFsZW5zIHJlc3VtZQ==&#x22;
          },
          &#x22;email&#x22;: &#x22;[email protected]&#x22;,
          &#x22;jobDID&#x22;: &#x22;J2S7RM600YJ88HF5YKT&#x22;,
          &#x22;tracking&#x22;: {}
        })
        .set(&#x27;Accept&#x27;, &#x27;application/json&#x27;)
        .set(&#x27;Authorization&#x27;, token)
        .expect(422);
      expect(res.text).to.be.eql(&#x27;{&#x22;status&#x22;:422,&#x22;message&#x22;:&#x22;This job requires screeners. Please add screener params to the req body.&#x22;}&#x27;);
      return;
    }</code></pre><pre class="error">Error: expected &#x27;{&#x22;status&#x22;:422,&#x22;message&#x22;:&#x22;The job you requested was not found or expired&#x22;}&#x27; to sort of equal &#x27;{&#x22;status&#x22;:422,&#x22;message&#x22;:&#x22;This job requires screeners. Please add screener params to the req body.&#x22;}&#x27;
    at Assertion.assert (node_modules/expect.js/index.js:96:13)
    at Assertion.eql (node_modules/expect.js/index.js:230:10)
    at Function.eql (node_modules/expect.js/index.js:499:17)
    at Context.&#x3C;anonymous&#x3E; (test/apply.test.js:319:30)
    at processTicksAndRejections (internal/process/task_queues.js:93:5)</pre></li></ul></li></ul></li></ul>
        </div>
        <script>
    function hideSuitesWithout(className) {
var suites = document.querySelectorAll('#report .suite');

for (var i = 0; i < suites.length; i  ) {
    let suite = suites[i];

    var els = suite.getElementsByClassName(className);
    if (!els.length) {
        suite.classList.add('hidden');
    }
}
}

function unhide() {
    var suites = document.getElementsByClassName('suite hidden');

    while (suites.length) {
        suites[0].classList.remove('hidden');
    }
}

function togglePasses() {
    var report = document.getElementById('report');

    report.classList.toggle('hide-passes');

    if (report.classList.contains('hide-passes')) {
        hideSuitesWithout('test fail');
    } else {
        unhide();
    }
}

document.getElementById('toggle-passes').addEventListener('click', function(e) {
    e.preventDefault();
    
    this.classList.toggle('checked');

    togglePasses();
});

var tests = document.getElementsByClassName('test');

for (var i = 0; i < tests.length; i  ) {
    var elem = tests[i];
    var head = elem.children[0];

    head.onclick = function () {
        var code = this.parentElement.children[1];
        var display = code.style.display;

        if (display && display === 'block') {
            code.style.display = 'none';
        } else {
            code.style.display = 'block';
        }
    };
}
        </script>
    </body>
</html>

uj5u.com熱心網友回復:

添加此 css 樣式以隱藏通過案例:

.hide-passes {
    display: none;
}

轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/436034.html

標籤:javascript html css 有角度的

上一篇:如何在函式型別的@input裝飾器中獲取公共變數值?

下一篇:如何在html中使用異步

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • GPU虛擬機創建時間深度優化

    **?桔妹導讀:**GPU虛擬機實體創建速度慢是公有云面臨的普遍問題,由于通常情況下創建虛擬機屬于低頻操作而未引起業界的重視,實際生產中還是存在對GPU實體創建時間有苛刻要求的業務場景。本文將介紹滴滴云在解決該問題時的思路、方法、并展示最終的優化成果。 從公有云服務商那里購買過虛擬主機的資深用戶,一 ......

    uj5u.com 2020-09-10 06:09:13 more
  • 可編程網卡芯片在滴滴云網路的應用實踐

    **?桔妹導讀:**隨著云規模不斷擴大以及業務層面對延遲、帶寬的要求越來越高,采用DPDK 加速網路報文處理的方式在橫向縱向擴展都出現了局限性。可編程芯片成為業界熱點。本文主要講述了可編程網卡芯片在滴滴云網路中的應用實踐,遇到的問題、帶來的收益以及開源社區貢獻。 #1. 資料中心面臨的問題 隨著滴滴 ......

    uj5u.com 2020-09-10 06:10:21 more
  • 滴滴資料通道服務演進之路

    **?桔妹導讀:**滴滴資料通道引擎承載著全公司的資料同步,為下游實時和離線場景提供了必不可少的源資料。隨著任務量的不斷增加,資料通道的整體架構也隨之發生改變。本文介紹了滴滴資料通道的發展歷程,遇到的問題以及今后的規劃。 #1. 背景 資料,對于任何一家互聯網公司來說都是非常重要的資產,公司的大資料 ......

    uj5u.com 2020-09-10 06:11:05 more
  • 滴滴AI Labs斬獲國際機器翻譯大賽中譯英方向世界第三

    **桔妹導讀:**深耕人工智能領域,致力于探索AI讓出行更美好的滴滴AI Labs再次斬獲國際大獎,這次獲獎的專案是什么呢?一起來看看詳細報道吧! 近日,由國際計算語言學協會ACL(The Association for Computational Linguistics)舉辦的世界最具影響力的機器 ......

    uj5u.com 2020-09-10 06:11:29 more
  • MPP (Massively Parallel Processing)大規模并行處理

    1、什么是mpp? MPP (Massively Parallel Processing),即大規模并行處理,在資料庫非共享集群中,每個節點都有獨立的磁盤存盤系統和記憶體系統,業務資料根據資料庫模型和應用特點劃分到各個節點上,每臺資料節點通過專用網路或者商業通用網路互相連接,彼此協同計算,作為整體提供 ......

    uj5u.com 2020-09-10 06:11:41 more
  • 滴滴資料倉庫指標體系建設實踐

    **桔妹導讀:**指標體系是什么?如何使用OSM模型和AARRR模型搭建指標體系?如何統一流程、規范化、工具化管理指標體系?本文會對建設的方法論結合滴滴資料指標體系建設實踐進行解答分析。 #1. 什么是指標體系 ##1.1 指標體系定義 指標體系是將零散單點的具有相互聯系的指標,系統化的組織起來,通 ......

    uj5u.com 2020-09-10 06:12:52 more
  • 單表千萬行資料庫 LIKE 搜索優化手記

    我們經常在資料庫中使用 LIKE 運算子來完成對資料的模糊搜索,LIKE 運算子用于在 WHERE 子句中搜索列中的指定模式。 如果需要查找客戶表中所有姓氏是“張”的資料,可以使用下面的 SQL 陳述句: SELECT * FROM Customer WHERE Name LIKE '張%' 如果需要 ......

    uj5u.com 2020-09-10 06:13:25 more
  • 滴滴Ceph分布式存盤系統優化之鎖優化

    **桔妹導讀:**Ceph是國際知名的開源分布式存盤系統,在工業界和學術界都有著重要的影響。Ceph的架構和演算法設計發表在國際系統領域頂級會議OSDI、SOSP、SC等上。Ceph社區得到Red Hat、SUSE、Intel等大公司的大力支持。Ceph是國際云計算領域應用最廣泛的開源分布式存盤系統, ......

    uj5u.com 2020-09-10 06:14:51 more
  • es~通過ElasticsearchTemplate進行聚合~嵌套聚合

    之前寫過《es~通過ElasticsearchTemplate進行聚合操作》的文章,這一次主要寫一個嵌套的聚合,例如先對sex集合,再對desc聚合,最后再對age求和,共三層嵌套。 Aggregations的部分特性類似于SQL語言中的group by,avg,sum等函式,Aggregation ......

    uj5u.com 2020-09-10 06:14:59 more
  • 爬蟲日志監控 -- Elastc Stack(ELK)部署

    傻瓜式部署,只需替換IP與用戶 導讀: 現ELK四大組件分別為:Elasticsearch(核心)、logstash(處理)、filebeat(采集)、kibana(可視化) 下載均在https://www.elastic.co/cn/downloads/下tar包,各組件版本最好一致,配合fdm會 ......

    uj5u.com 2020-09-10 06:15:05 more
最新发布
  • day02-2-商鋪查詢快取

    功能02-商鋪查詢快取 3.商鋪詳情快取查詢 3.1什么是快取? 快取就是資料交換的緩沖區(稱作Cache),是存盤資料的臨時地方,一般讀寫性能較高。 快取的作用: 降低后端負載 提高讀寫效率,降低回應時間 快取的成本: 資料一致性成本 代碼維護成本 運維成本 3.2需求說明 如下,當我們點擊商店詳 ......

    uj5u.com 2023-04-20 08:33:24 more
  • MySQL中binlog備份腳本分享

    關于MySQL的二進制日志(binlog),我們都知道二進制日志(binlog)非常重要,尤其當你需要point to point災難恢復的時侯,所以我們要對其進行備份。關于二進制日志(binlog)的備份,可以基于flush logs方式先切換binlog,然后拷貝&壓縮到到遠程服務器或本地服務器 ......

    uj5u.com 2023-04-20 08:28:06 more
  • day02-短信登錄

    功能實作02 2.功能01-短信登錄 2.1基于Session實作登錄 2.1.1思路分析 2.1.2代碼實作 2.1.2.1發送短信驗證碼 發送短信驗證碼: 發送驗證碼的介面為:http://127.0.0.1:8080/api/user/code?phone=xxxxx<手機號> 請求方式:PO ......

    uj5u.com 2023-04-20 08:27:27 more
  • 快取與資料庫雙寫一致性幾種策略分析

    本文將對幾種快取與資料庫保證資料一致性的使用方式進行分析。為保證高并發性能,以下分析場景不考慮執行的原子性及加鎖等強一致性要求的場景,僅追求最終一致性。 ......

    uj5u.com 2023-04-20 08:26:48 more
  • sql陳述句優化

    問題查找及措施 問題查找 需要找到具體的代碼,對其進行一對一優化,而非一直把關注點放在服務器和sql平臺 降低簡化每個事務中處理的問題,盡量不要讓一個事務拖太長的時間 例如檔案上傳時,應將檔案上傳這一步放在事務外面 微軟建議 4.啟動sql定時執行計劃 怎么啟動sqlserver代理服務-百度經驗 ......

    uj5u.com 2023-04-20 08:26:35 more
  • 云時代,MySQL到ClickHouse資料同步產品對比推薦

    ClickHouse 在執行分析查詢時的速度優勢很好的彌補了MySQL的不足,但是對于很多開發者和DBA來說,如何將MySQL穩定、高效、簡單的同步到 ClickHouse 卻很困難。本文對比了 NineData、MaterializeMySQL(ClickHouse自帶)、Bifrost 三款產品... ......

    uj5u.com 2023-04-20 08:26:29 more
  • sql陳述句優化

    問題查找及措施 問題查找 需要找到具體的代碼,對其進行一對一優化,而非一直把關注點放在服務器和sql平臺 降低簡化每個事務中處理的問題,盡量不要讓一個事務拖太長的時間 例如檔案上傳時,應將檔案上傳這一步放在事務外面 微軟建議 4.啟動sql定時執行計劃 怎么啟動sqlserver代理服務-百度經驗 ......

    uj5u.com 2023-04-20 08:25:13 more
  • Redis 報”OutOfDirectMemoryError“(堆外記憶體溢位)

    Redis 報錯“OutOfDirectMemoryError(堆外記憶體溢位) ”問題如下: 一、報錯資訊: 使用 Redis 的業務介面 ,產生 OutOfDirectMemoryError(堆外記憶體溢位),如圖: 格式化后的報錯資訊: { "timestamp": "2023-04-17 22: ......

    uj5u.com 2023-04-20 08:24:54 more
  • day02-2-商鋪查詢快取

    功能02-商鋪查詢快取 3.商鋪詳情快取查詢 3.1什么是快取? 快取就是資料交換的緩沖區(稱作Cache),是存盤資料的臨時地方,一般讀寫性能較高。 快取的作用: 降低后端負載 提高讀寫效率,降低回應時間 快取的成本: 資料一致性成本 代碼維護成本 運維成本 3.2需求說明 如下,當我們點擊商店詳 ......

    uj5u.com 2023-04-20 08:24:03 more
  • day02-短信登錄

    功能實作02 2.功能01-短信登錄 2.1基于Session實作登錄 2.1.1思路分析 2.1.2代碼實作 2.1.2.1發送短信驗證碼 發送短信驗證碼: 發送驗證碼的介面為:http://127.0.0.1:8080/api/user/code?phone=xxxxx<手機號> 請求方式:PO ......

    uj5u.com 2023-04-20 08:23:11 more