github.com/go-email-validator/go-email-validator@v0.0.0-20230409163946-b8b9e6a0552e/pkg/presentation/test/test.go (about)

     1  package test
     2  
     3  import (
     4  	"encoding/json"
     5  	"github.com/stretchr/testify/require"
     6  	"io/ioutil"
     7  	"os"
     8  	"path/filepath"
     9  	"testing"
    10  )
    11  
    12  // DefaultDepFixtureFile is a name of test file
    13  const DefaultDepFixtureFile = "dep_fixture_test.json"
    14  
    15  // DepPresentations returns structs from json test file
    16  func DepPresentations(t *testing.T, result interface{}, fp string) {
    17  	if fp == "" {
    18  		fp = DefaultDepFixtureFile
    19  	}
    20  
    21  	fp, err := filepath.Abs(fp)
    22  	require.Nil(t, err)
    23  	jsonFile, err := os.Open(fp)
    24  	require.Nil(t, err)
    25  	defer jsonFile.Close()
    26  
    27  	byteValue, err := ioutil.ReadAll(jsonFile)
    28  	require.Nil(t, err)
    29  
    30  	err = json.Unmarshal(byteValue, &result)
    31  	require.Nil(t, err)
    32  }