github.com/easysoft/zendata@v0.0.0-20240513203326-705bd5a7fd67/cmd/test/command/cmd_gen_expr_test.go (about)

     1  package main
     2  
     3  import (
     4  	"strings"
     5  	"testing"
     6  
     7  	"github.com/easysoft/zendata/cmd/test/consts"
     8  	"github.com/easysoft/zendata/cmd/test/gen"
     9  	testHelper "github.com/easysoft/zendata/cmd/test/helper"
    10  	"github.com/ozontech/allure-go/pkg/framework/provider"
    11  	"github.com/ozontech/allure-go/pkg/framework/suite"
    12  )
    13  
    14  func TestGenerateExpressionCmd(t *testing.T) {
    15  	suite.RunSuite(t, new(GenerateExpressionCmdSuite))
    16  }
    17  
    18  type GenerateExpressionCmdSuite struct {
    19  	suite.Suite
    20  }
    21  
    22  func (s *GenerateExpressionCmdSuite) BeforeAll(t provider.T) {
    23  	testHelper.BeforeAll()
    24  	t.AddSubSuite("GenerateExpressionCmd")
    25  }
    26  func (s *GenerateExpressionCmdSuite) BeforeEach(t provider.T) {
    27  	testHelper.PreCase()
    28  	t.AddSubSuite("GenerateExpressionCmd")
    29  }
    30  func (s *GenerateExpressionCmdSuite) AfterEach(t provider.T) {
    31  	testHelper.PostCase()
    32  }
    33  
    34  func (s *GenerateExpressionCmdSuite) TestGenerateExpression(t provider.T) {
    35  	t.ID("0")
    36  
    37  	out := gen.New().
    38  		SetTotal(5).
    39  		SetConfigs([]string{consts.CommandTestFile}).
    40  		SetFields("f5").
    41  		Gen()
    42  
    43  	arr := strings.Split(out, "\t\n")
    44  
    45  	t.Require().Equal(len(arr[0]), 32, "check generated data")
    46  }
    47  
    48  func (s *GenerateExpressionCmdSuite) TestGenerateExpr(t provider.T) {
    49  	t.ID("0")
    50  
    51  	out := gen.New().
    52  		SetTotal(5).
    53  		SetConfigs([]string{consts.CommandTestFile, consts.CommandTestFile2}).
    54  		SetFields("f0,f6").
    55  		Gen()
    56  
    57  	t.Require().Contains(out, "3 * 2 = 6", "check generated data")
    58  }
    59  
    60  func (s *GenerateExpressionCmdSuite) TestGenerateDatetime(t provider.T) {
    61  	t.ID("0")
    62  
    63  	out := gen.New().
    64  		SetTotal(5).
    65  		SetConfigs([]string{consts.CommandTestFile}).
    66  		SetFields("f7").
    67  		Gen()
    68  
    69  	t.Require().Contains(out, "2013/", "check generated data")
    70  }