#!/usr/bin/env bats load $BATS_TEST_DIRNAME/helper/common.bash setup() { setup_common dolt sql < employees.csv "id","first name","last name","title","start date","end date" 0,tim,sehn,ceo,"","" 1,aaron,son,founder,"","" 2,brian,hendricks,founder,"","" DELIM dolt table import -c -pk=id employees employees.csv dolt add employees dolt commit -m "Added employees table with data" dolt sql -q "alter table employees add city longtext" dolt sql -q "insert into employees values (3, 'taylor', 'bantle', 'software engineer', '', '', 'Santa Monica')" run dolt diff --stat [ "$status" -eq 0 ] [[ "$output" =~ "3 Rows Unmodified (100.00%)" ]] || false [[ "$output" =~ "1 Row Added (33.33%)" ]] || false [[ "$output" =~ "0 Rows Deleted (0.00%)" ]] || false [[ "$output" =~ "0 Rows Modified (0.00%)" ]] || false [[ "$output" =~ "10 Cells Added (55.56%)" ]] || false [[ "$output" =~ "0 Cells Deleted (0.00%)" ]] || false [[ "$output" =~ "0 Cells Modified (0.00%)" ]] || false [[ "$output" =~ "(3 Row Entries vs 4 Row Entries)" ]] || false run dolt diff --summary [ "$status" -eq 0 ] [[ "$output" =~ "| Table name | Diff type | Data change | Schema change |" ]] || false [[ "$output" =~ "| employees | modified | true | true |" ]] || false dolt sql -q "replace into employees values (0, 'tim', 'sehn', 'ceo', '2 years ago', '', 'Santa Monica')" dolt diff --stat run dolt diff --stat [ "$status" -eq 0 ] [[ "$output" =~ "2 Rows Unmodified (66.67%)" ]] || false [[ "$output" =~ "1 Row Added (33.33%)" ]] || false [[ "$output" =~ "0 Rows Deleted (0.00%)" ]] || false [[ "$output" =~ "1 Row Modified (33.33%)" ]] || false [[ "$output" =~ "10 Cells Added (55.56%)" ]] || false [[ "$output" =~ "0 Cells Deleted (0.00%)" ]] || false [[ "$output" =~ "2 Cells Modified (11.11%)" ]] || false [[ "$output" =~ "(3 Row Entries vs 4 Row Entries)" ]] || false run dolt diff --summary [ "$status" -eq 0 ] [[ "$output" =~ "| Table name | Diff type | Data change | Schema change |" ]] || false [[ "$output" =~ "| employees | modified | true | true |" ]] || false } @test "diff-stat: stat/summary gets summaries for all tables with changes" { dolt sql -q "insert into test values (0, 0, 0, 0, 0, 0)" dolt sql -q "insert into test values (1, 1, 1, 1, 1, 1)" dolt sql < test2 | renamed | false | true |" ]] || false dolt sql -q "insert into test2 values (2, 2, 2, 2, 2, 2)" run dolt diff --stat [ "$status" -eq 0 ] echo "$output" [[ "$output" =~ "2 Rows Unmodified (100.00%)" ]] || false [[ "$output" =~ "1 Row Added (50.00%)" ]] || false [[ "$output" =~ "0 Rows Deleted (0.00%)" ]] || false [[ "$output" =~ "0 Rows Modified (0.00%)" ]] || false [[ "$output" =~ "6 Cells Added (50.00%)" ]] || false [[ "$output" =~ "0 Cells Deleted (0.00%)" ]] || false [[ "$output" =~ "0 Cells Modified (0.00%)" ]] || false [[ "$output" =~ "(2 Row Entries vs 3 Row Entries)" ]] || false run dolt diff --summary [ "$status" -eq 0 ] [[ "$output" =~ "| Table name | Diff type | Data change | Schema change |" ]] || false [[ "$output" =~ "| test -> test2 | renamed | true | true |" ]] || false }