Testing the functions of WI.AuditTestGroupResult.


== Running test suite: AuditTestGroupResult
-- Running test case: AuditTestGroupResult.fromPayload.nullObject
null

-- Running test case: AuditTestGroupResult.fromPayload.nonObject
null

-- Running test case: AuditTestGroupResult.fromPayload.emptyObject
null

-- Running test case: AuditTestGroupResult.fromPayload.invalidTopLevelMembers
null

-- Running test case: AuditTestGroupResult.fromPayload.missingSubMembers
null

-- Running test case: AuditTestGroupResult.fromPayload.invalidSubMembers
null

-- Running test case: AuditTestGroupResult.fromPayload.valid
{
  "type": "test-group-result",
  "name": "valid group result name",
  "results": [
    {
      "type": "test-case-result",
      "name": "valid test result name",
      "level": "pass"
    }
  ]
}

-- Running test case: AuditTestGroupResult.fromPayload.validWithInvalidOptionals
WARN: Audit Warning: "validWithInvalidOptionals test result name" has a non-object "data" value
WARN: Audit Warning: "validWithInvalidOptionals test result name" has a non-object "metadata" value
WARN: Audit Warning: "validWithInvalidOptionals test result name" has a non-string "description" value
WARN: Audit Warning: "validWithInvalidOptionals group result name" has a non-string "description" value
{
  "type": "test-group-result",
  "name": "validWithInvalidOptionals group result name",
  "results": [
    {
      "type": "test-case-result",
      "name": "validWithInvalidOptionals test result name",
      "level": "pass"
    }
  ]
}

-- Running test case: AuditTestGroupResult.fromPayload.validWithValidOptionals
{
  "type": "test-group-result",
  "name": "validWithValidOptionals group result name",
  "description": "validWithValidOptionals group result description",
  "results": [
    {
      "type": "test-case-result",
      "name": "validWithValidOptionals test result name",
      "description": "validWithValidOptionals test result description",
      "level": "pass",
      "data": {
        "domNodes": [
          "validWithValidOptionals test result domNode"
        ],
        "domAttributes": [
          "validWithValidOptionals test result domAttribute"
        ],
        "errors": [
          "validWithValidOptionals test result error"
        ]
      },
      "metadata": {
        "startTimestamp": "0001-01-01T00:00:00.000Z",
        "asyncTimestamp": "0002-01-01T00:00:00.000Z",
        "endTimestamp": "0003-01-01T00:00:00.000Z",
        "url": "validWithValidOptionals test result url"
      }
    }
  ]
}

-- Running test case: AuditTestGroupResult.fromPayload.validNested
{
  "type": "test-group-result",
  "name": "validNested group result name",
  "description": "validNested group result description",
  "results": [
    {
      "type": "test-group-result",
      "name": "validNested nested group result name",
      "description": "validNested nested group result description",
      "results": [
        {
          "type": "test-case-result",
          "name": "validNested nested test result name",
          "description": "validNested nested test result description",
          "level": "pass",
          "data": {
            "domNodes": [
              "validNested nested test result domNode"
            ],
            "domAttributes": [
              "validNested nested test result domAttribute"
            ],
            "errors": [
              "validNested nested test result error"
            ]
          },
          "metadata": {
            "startTimestamp": "0001-01-01T00:00:00.000Z",
            "asyncTimestamp": "0002-01-01T00:00:00.000Z",
            "endTimestamp": "0003-01-01T00:00:00.000Z",
            "url": "validNested nested test result url"
          }
        }
      ]
    },
    {
      "type": "test-case-result",
      "name": "validNested test result name",
      "description": "validNested test result description",
      "level": "pass",
      "data": {
        "domNodes": [
          "validNested test result domNode"
        ],
        "domAttributes": [
          "validNested test result domAttribute"
        ],
        "errors": [
          "validNested test result error"
        ]
      },
      "metadata": {
        "startTimestamp": "0004-01-01T00:00:00.000Z",
        "asyncTimestamp": "0005-01-01T00:00:00.000Z",
        "endTimestamp": "0006-01-01T00:00:00.000Z",
        "url": "validNested test result url"
      }
    }
  ]
}

