Skip to content

Question: Database sandbox for tests #123

@martinthenth

Description

@martinthenth

One problem I've had while working with Dgraph, is that Dgraph does not have a test sandbox like Ecto has for Postgres. Since Dgraph does not offer multiple databases in a single instance, I'm wondering how other developers are solving this problem.

To illustrate, when running tests: The test may create new data and fetch old data:

  1. First run: Create node with external_id: "1", returns uid: 0x1, external_id: "1"
  2. First run: Fetch node with external_id: "1", returns uid: 0x1, external_id: "1"
  3. Second run: Create node with external_id: "1", returns uid: 0x2, external_id: "1"
  4. Second run: Fetch node with external_id: "1", returns nodes with uid: 0x1, external_id: "1" and uid: 0x2, external_id: "1"

A workaround I that use, is to add first: 1 and sometimes orderasc: created_on to queries. This works, and makes tests pass using the new data; but adding code simply to make tests work is obviously bad practice.

How are others solving this?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions