Home Reference Source Test

Test

Description Identifier

renders without crashing

App

CurrentRelExpr

-

DataContainer

-

can change tables browser

-

can change tables mobile

-

RelExpr

-

correctly renders a complex expression

RelExprTree

produces an error for an invalid expression

RelExprTree

doesnt change the expression when clicked and relation

RelExprTree

changes the expression when clicked not relation

RelExprTree

renders a projection

Projection

renders a Rename

Rename

renders a Rename with multiple fields

Rename

renders a Selection with single predicate

Selection

renders a Selection with multiple predicates

Selection

renders a Except

Except

renders a Intersect

Intersect

renders a Product

Product

renders an inner Join

Join

renders a left outer Join

Join

renders a right outer Join

Join

renders a Union

Union

renders GROUP BY with aggregate only (no grouping columns)

GroupBy

renders GROUP BY with grouping columns and aggregate

GroupBy

renders GROUP BY with selected columns and aggregates

GroupBy

renders GROUP BY with multiple grouping columns

GroupBy

renders GROUP BY with multiple aggregates

GroupBy

renders GROUP BY with mixed select columns and aggregates

GroupBy

handles qualified column names

GroupBy

renders correctly without selectColumns prop

GroupBy

renders a simple label

Relation

SqlAutocomplete

-

can parse the initial query

-

can parse modified query and fire an event

-

can render a table

Table

can disable sorting

Table

correctly renders tutorial given no cookie

Tutorial

cookie exists, no tutorial

Tutorial

constructRelationalGraph

-

can evaluate a simple relation

data

can evaluate a projection

data

can evaluate a projection with dots

data

can evaluate a rename

data

can evaluate a difference

data

can evaluate an intersection

data

can evaluate a distinct union

data

can evaluate a union

data

can evaluate a default (ascending) sorting

data

can evaluate a descending sorting

data

converts a sorting on multiple column conditions

data

can evaluate an inner join

data

can project after multiple joins

data

can evaluate an left join

-

can evaluate an right join

-

can evaluate a cross-product

data

can evaluate GROUP BY with aggregate only

data

can evaluate GROUP BY with mixed columns and aggregates

data

can evaluate GROUP BY with multiple aggregates

data

can evaluate aggregate without GROUP BY (implicit grouping)

data

can evaluate GROUP BY with qualified column names

data

handles all aggregate functions correctly

data

maintains correct group separation

data

can evaluate HAVING clause with COUNT aggregate

data

can evaluate HAVING clause with AVG aggregate

data

can evaluate HAVING clause with complex condition using AND

data

can evaluate HAVING with extra aggregates not in SELECT

data

join order optimization

-

converts a simple SELECT *

relexp

converts a simple projection

relexp

converts a rename

relexp

converts a difference

relexp

converts an intersection

relexp

converts a distinct union

relexp

converts a union

relexp

converts a union on two tables with the same column

relexp

converts a simple cross join

relexp

converts a join with a condition

relexp

converts a left outer join with a condition

relexp

converts a right outer join with a condition

relexp

converts a pre-optimized select-join statement with a condition

relexp

converts a post-optimized select-join statement with a condition

relexp

checks if a select-join statement with a condition converts back correctly after optimization

relexp

converts a pre-optimized select-join statement with multiple conditions

relexp

converts a post-optimized select-join statement with multiple conditions

relexp

checks if a select-join statement with mutiple condition converts back correctly after optimization

relexp

converts a default (ascending) sorting

relexp

converts a descending sorting

relexp

converts a sorting on multiple column conditions

relexp

converts a selection

relexp

converts a selection with a literal on the left

relexp

converts a selection with BETWEEN

relexp

converts a basic selection with multiple 'AND's

relexp

converts a basic selection with both 'AND's in 'OR'

relexp

converts a basic selection with both 'OR's in 'AND'

relexp

converts a basic selection with both 'OR's in 'AND'

relexp

converts a selection with more than two 'AND' clauses

relexp

converts a selection with NOT

relexp

throws an error if a column is referenced in a table not joined

relexp

throws an error if no FROM clause is given

relexp

should remove quotes from string literals

relexp

should convert conditions with IN

relexp

should convert conditions with IN

relexp

converts a GROUP BY with aggregate only

relexp

converts a GROUP BY with mixed columns and aggregates

relexp

converts a GROUP BY with multiple aggregates

relexp

converts aggregate without GROUP BY (implicit grouping)

relexp

converts GROUP BY with qualified column names

relexp

supports all aggregate functions

relexp

throws error when non-aggregate column not in GROUP BY

relexp

throws error when ORDER BY column not in GROUP BY

relexp

allows ORDER BY with GROUP BY column

relexp

handles qualified vs unqualified column name matching

relexp

converts a GROUP BY with COUNT aggregate

relexp

converts a GROUP BY with STDEV aggregate

relexp

converts STDEV aggregate without GROUP BY (implicit grouping)

relexp

converts a GROUP BY with HAVING clause using aggregate function

relexp

converts a GROUP BY with HAVING clause using multiple aggregate functions

relexp

converts a GROUP BY with HAVING clause using GROUP BY column

relexp

throws error when HAVING clause references column not in GROUP BY

relexp

throws error when HAVING clause uses non-aggregate function

relexp

converts HAVING with BETWEEN predicate using aggregate

relexp

converts HAVING with OR condition using aggregates

relexp

adds projection when HAVING uses aggregates not in SELECT

relexp

converts a GROUP BY with HAVING clause using STDEV aggregate

relexp

has a valid initial state

-

renders an and

and

renders an or

or

renders a not

or