PHP Classes

File: tests/js/fixtures.js

Recommend this page to a friend!
  Packages of Alberto Arena   Laravel Truss   tests/js/fixtures.js   Download  
File: tests/js/fixtures.js
Role: Auxiliary data
Content type: text/plain
Description: Auxiliary data
Class: Laravel Truss
View a diagram of a Laravel application models
Author: By
Last change:
Date: 9 days ago
Size: 2,185 bytes
 

Contents

Class file image Download
// Schema fixtures shaped exactly like the /api/schema `tables[]` payload // (see docs/DESIGN.md output shape). Shared across the JS unit tests. const col = (name, type, extra = {}) => ({ name, type, nullable: false, default: null, ...extra }); export const users = { name: 'users', columns: [col('id', 'bigint unsigned'), col('name', 'varchar(255)'), col('email', 'varchar(255)')], primary_key: ['id'], indexes: [], foreign_keys: [], }; export const posts = { name: 'posts', columns: [col('id', 'bigint unsigned'), col('user_id', 'bigint unsigned'), col('title', 'varchar(255)'), col('status', "enum('draft','published','archived')"), col('published_at', 'timestamp', { nullable: true })], primary_key: ['id'], indexes: [], foreign_keys: [ { name: 'posts_user_id_foreign', columns: ['user_id'], references_table: 'users', references_columns: ['id'], on_update: null, on_delete: 'cascade' }, ], }; export const roles = { name: 'roles', columns: [col('id', 'bigint unsigned'), col('name', 'varchar(255)')], primary_key: ['id'], indexes: [], foreign_keys: [], }; // Pivot: composite primary key whose columns are BOTH foreign keys. export const roleUser = { name: 'role_user', columns: [col('role_id', 'bigint unsigned'), col('user_id', 'bigint unsigned')], primary_key: ['role_id', 'user_id'], indexes: [], foreign_keys: [ { name: 'role_user_role_id_foreign', columns: ['role_id'], references_table: 'roles', references_columns: ['id'], on_update: null, on_delete: 'cascade' }, { name: 'role_user_user_id_foreign', columns: ['user_id'], references_table: 'users', references_columns: ['id'], on_update: null, on_delete: 'cascade' }, ], }; // Self-referential foreign key. export const categories = { name: 'categories', columns: [col('id', 'bigint unsigned'), col('parent_id', 'bigint unsigned', { nullable: true })], primary_key: ['id'], indexes: [], foreign_keys: [ { name: 'categories_parent_id_foreign', columns: ['parent_id'], references_table: 'categories', references_columns: ['id'], on_update: null, on_delete: 'set null' }, ], }; export const schema = [users, posts, roles, roleUser, categories];