excel-export/export/excel_test.go

232 lines
5.2 KiB
Go

package export
import (
"excel_export/data"
"fmt"
"github.com/stretchr/testify/assert"
"os"
"testing"
)
func TestExport_Export(t *testing.T) {
dir, _ := os.Getwd()
path := dir + "/aa_%d.xlsx"
e := NewExport(path, 4)
err := e.Open()
assert.Nil(t, err)
data := NewOrder([]data.Order{
{
OrderNumber: "123451",
Reseller: data.Reseller{
Id: 23456,
Name: "分销商名称",
},
ResellerOrderNumber: "123456448",
Amount: 12.22,
Account: "13512345678",
Quantity: 1,
Status: 1,
PayStatus: 1,
CreateTime: 1672744984,
FinishTime: 1672744984,
Item: data.OrderItem{
OursProductId: 101,
OursProductTitle: "商品名称",
},
Remark: data.OrderRemark{
Remark: "备注信息",
},
},
{
OrderNumber: "123452",
Reseller: data.Reseller{
Id: 23456,
Name: "分销商名称",
},
ResellerOrderNumber: "123456448",
Amount: 12.22,
Account: "13512345678",
Quantity: 1,
Status: 1,
PayStatus: 1,
CreateTime: 1672744984,
FinishTime: 1672744984,
Item: data.OrderItem{
OursProductId: 101,
OursProductTitle: "商品名称",
},
Remark: data.OrderRemark{
Remark: "备注信息",
},
},
{
OrderNumber: "123453",
Reseller: data.Reseller{
Id: 23456,
Name: "分销商名称",
},
ResellerOrderNumber: "123456448",
Amount: 12.22,
Account: "13512345678",
Quantity: 1,
Status: 1,
PayStatus: 1,
CreateTime: 1672744984,
FinishTime: 1672744984,
Item: data.OrderItem{
OursProductId: 101,
OursProductTitle: "商品名称",
},
Remark: data.OrderRemark{
Remark: "备注信息",
},
},
{
OrderNumber: "123454",
Reseller: data.Reseller{
Id: 23456,
Name: "分销商名称",
},
ResellerOrderNumber: "123456448",
Amount: 12.22,
Account: "13512345678",
Quantity: 1,
Status: 1,
PayStatus: 1,
CreateTime: 1672744984,
FinishTime: 1672744984,
Item: data.OrderItem{
OursProductId: 101,
OursProductTitle: "商品名称",
},
Remark: data.OrderRemark{
Remark: "备注信息",
},
},
{
OrderNumber: "123455",
Reseller: data.Reseller{
Id: 23456,
Name: "分销商名称",
},
ResellerOrderNumber: "123456448",
Amount: 12.22,
Account: "13512345678",
Quantity: 1,
Status: 1,
PayStatus: 1,
CreateTime: 1672744984,
FinishTime: 1672744984,
Item: data.OrderItem{
OursProductId: 101,
OursProductTitle: "商品名称",
},
Remark: data.OrderRemark{
Remark: "备注信息",
},
},
{
OrderNumber: "123456",
Reseller: data.Reseller{
Id: 23456,
Name: "分销商名称",
},
ResellerOrderNumber: "123456448",
Amount: 12.22,
Account: "13512345678",
Quantity: 1,
Status: 1,
PayStatus: 1,
CreateTime: 1672744984,
FinishTime: 1672744984,
Item: data.OrderItem{
OursProductId: 101,
OursProductTitle: "商品名称",
},
Remark: data.OrderRemark{
Remark: "备注信息",
},
},
{
OrderNumber: "123457",
Reseller: data.Reseller{
Id: 23456,
Name: "分销商名称",
},
ResellerOrderNumber: "123456448",
Amount: 12.22,
Account: "13512345678",
Quantity: 1,
Status: 1,
PayStatus: 1,
CreateTime: 1672744984,
FinishTime: 1672744984,
Item: data.OrderItem{
OursProductId: 101,
OursProductTitle: "商品名称",
},
Remark: data.OrderRemark{
Remark: "备注信息",
},
},
{
OrderNumber: "123458",
Reseller: data.Reseller{
Id: 23456,
Name: "分销商名称",
},
ResellerOrderNumber: "123456448",
Amount: 12.22,
Account: "13512345678",
Quantity: 1,
Status: 1,
PayStatus: 1,
CreateTime: 1672744984,
FinishTime: 1672744984,
Item: data.OrderItem{
OursProductId: 101,
OursProductTitle: "商品名称",
},
Remark: data.OrderRemark{
Remark: "备注信息",
},
},
{
OrderNumber: "123459",
Reseller: data.Reseller{
Id: 23456,
Name: "分销商名称",
},
ResellerOrderNumber: "123456448",
Amount: 12.22,
Account: "13512345678",
Quantity: 1,
Status: 1,
PayStatus: 1,
CreateTime: 1672744984,
FinishTime: 1672744984,
Item: data.OrderItem{
OursProductId: 101,
OursProductTitle: "商品名称",
},
Remark: data.OrderRemark{
Remark: "备注信息",
},
},
})
err = e.Title(data.Title())
assert.Nil(t, err)
err = e.Export(data)
assert.Nil(t, err)
for i := 0; i <= e.Index(); i++ {
file := fmt.Sprintf(path, i)
assert.FileExists(t, file)
os.Remove(file)
}
}