Skip to content
This repository was archived by the owner on Jan 6, 2023. It is now read-only.
This repository was archived by the owner on Jan 6, 2023. It is now read-only.

API Functional Tests #1099

@benhaynes

Description

@benhaynes

Feature Request

Create API Functional Tests

What problem does this feature solve?

Knowing that the API is working as expected; more thoroughly testing the API after updates/fixes... and before releasing.

How do you think this should be implemented?

TBD. @shealavington has been working on this for a while, but we need to align on exactly how these tests will be structured. Here is what Shea wrote:

I've got some tests for the Items endpoint running. There's a few changes I'd like to make (Such as outputting successful tests to the console), but I guess the first iteration is almost ready to be master-merged. Though on that note, I'm currently testing the 'Demo' directly, therefore some fail (deletions) as it doesn't spawn a new instance every time haha.

  • 'Items' Tests:
    • Create: Create a single item & Create multiple items in one payload.
    • Read: Get item, Get multiple items, Get all items (by default should max out at 200 items)
    • Update: Update item, Update multiple items with the same data, Update multiple items with different data.
    • Delete: Delete item, delete multiple items.
  • Server: Ping should Pong
  • Project: Expected keys should exist when authed, and shouldn't when not authed.

Status

Authentication

  • Tokens
  • Get Auth Token
  • Refresh Auth Token
  • Password Reset Request
  • Password Reset
  • SSO

Query Parameters

  • Metadata
  • Fields
  • Limit
  • Offset
  • Single
  • Sorting
  • Status
  • Filtering
  • Language
  • Search Query
  • Groups
  • Skip Activity Logging
  • Activity Comment

Items

  • Get Item
  • Get Multiple Items
  • Get All Items
  • Create Item
  • Create Items
  • Update Item
  • Update Items
  • Delete Item
  • Delete Items
  • Get Item Revision
  • Get Item Revisions
  • Revert Item
  • Revert Items?

System

  • Activity
  • Collections
  • Collection Presets
  • Fields
  • Files
  • Folders
  • Permissions
  • Relations
  • Revisions
  • Roles
  • Settings
  • Users

Utilities

  • Hash String
  • Match Hashed String
  • Generate Random String

Mail

  • Send Email

Extensions

  • Get Extensions
  • Get Interface
  • Get Page
  • Get Custom Endpoint

Server

  • Information
  • Ping

Projects

  • Information
  • Update
  • Create Project
  • Projects Auth Config
  • Projects CORS Config
  • Projects Cache Config
  • Projects Storage Config
  • Projects Mail Config
  • Projects Rate Limit Config

Field Types

  • Webhooks

Directus Objects

  • Activity Object
  • Activity Seen Object
  • Collection Object
  • Collection Preset Object
  • Field Object
  • File Object
  • Folder Object
  • Permission Object
  • Relation Object
  • Revision Object
  • Role Object
  • Setting Object
  • User Object
  • User Role Object

SCIM

  • Overview
  • Create SCIM User
  • Get SCIM Users
  • Get SCIM User
  • Update SCIM User
  • Create SCIM Group
  • Get SCIM Groups
  • Get SCIM Group
  • Update SCIM Group
  • Delete SCIM Group

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions