---
lang: en
title: 'API docs: repository-tests.crudfeatures'
keywords: LoopBack 4.0, LoopBack 4
sidebar: lb4_sidebar
permalink: /doc/en/lb4/apidocs.repository-tests.crudfeatures.html
---

<!-- Do not edit this file. It is automatically generated by API Documenter. -->

[Home](./index.md) &gt; [@loopback/repository-tests](./repository-tests.md) &gt; [CrudFeatures](./repository-tests.crudfeatures.md)

## CrudFeatures interface

List of flags describing behavior specific to different connectors and repository implementations. These flags are used by the test suite to tweak assertions and skip tests for scenarios not supported by some implementations.

<b>Signature:</b>

```typescript
export interface CrudFeatures 
```

## Properties

|  Property | Type | Description |
|  --- | --- | --- |
|  [emptyValue](./repository-tests.crudfeatures.emptyvalue.md) | <code>undefined &#124; null</code> | The value used by the database to store properties set to <code>undefined</code>. Typically, SQL databases store both <code>undefined</code> and <code>null</code> as <code>null</code>.<!-- -->Default: <code>undefined</code> |
|  [freeFormProperties](./repository-tests.crudfeatures.freeformproperties.md) | <code>boolean</code> | Does the database (or the connector) require a fixed schema, or can it support additional (free-form) properties? SQL databases typically don't support free-form properties.<!-- -->Default: <code>true</code> |
|  [idType](./repository-tests.crudfeatures.idtype.md) | <code>'string' &#124; 'number'</code> | What type is used for auto-generated primary keys? - SQL databases typically use auto-incremented numbers, - NoSQL databases tend to use GUID/UUID strings.<!-- -->Default: <code>'string'</code>. |


