feat: update aftersales service types and serial format
This commit is contained in:
@@ -55,7 +55,7 @@ func createOrderFor(t *testing.T, user models.User, phone string) *models.Afters
|
||||
return order
|
||||
}
|
||||
|
||||
func TestAftersalesService_Create_GeneratesYYMMNNSerial(t *testing.T) {
|
||||
func TestAftersalesService_Create_GeneratesYYMMDDNNSerial(t *testing.T) {
|
||||
user := seedTechnician(t, "aftersales_create_tech")
|
||||
defer database.DB.Unscoped().Delete(&user)
|
||||
|
||||
@@ -72,7 +72,7 @@ func TestAftersalesService_Create_GeneratesYYMMNNSerial(t *testing.T) {
|
||||
assert.NoError(t, err)
|
||||
assert.NotNil(t, order)
|
||||
assert.True(t, strings.HasPrefix(order.SerialNumber, "zjbf-sh-"))
|
||||
assert.Len(t, order.SerialNumber, len("zjbf-sh-")+6, "default serial should be 6 digits (YYMMNN)")
|
||||
assert.Len(t, order.SerialNumber, len("zjbf-sh-")+8, "default serial should be 8 digits (YYMMDDNN)")
|
||||
assert.Equal(t, WorkOrderStatusCreated, order.WorkOrderStatus)
|
||||
assert.Equal(t, AuthorizationStatusPending, order.AuthorizationStatus)
|
||||
assert.NotNil(t, order.TechnicianID)
|
||||
@@ -82,25 +82,25 @@ func TestAftersalesService_Create_GeneratesYYMMNNSerial(t *testing.T) {
|
||||
database.DB.Unscoped().Where("company_name = ?", "AftersalesSerialCo").Delete(&models.Company{})
|
||||
}
|
||||
|
||||
func TestAftersalesService_Create_SerialIncrementsWithinMonth(t *testing.T) {
|
||||
func TestAftersalesService_Create_SerialIncrementsWithinDay(t *testing.T) {
|
||||
user := seedTechnician(t, "aftersales_seq_tech")
|
||||
defer database.DB.Unscoped().Delete(&user)
|
||||
|
||||
svc := AftersalesService{}
|
||||
first, err := svc.Create(models.CreateAftersalesOrderDTO{
|
||||
CompanyName: "SeqCo", CompanyAddress: "addr", ContactName: "A", ContactPhone: "13800002000",
|
||||
ServiceType: "other", IssueDescription: "issue 1",
|
||||
ServiceType: "maintenance", IssueDescription: "issue 1",
|
||||
}, user.ID)
|
||||
assert.NoError(t, err)
|
||||
|
||||
second, err := svc.Create(models.CreateAftersalesOrderDTO{
|
||||
CompanyName: "SeqCo", CompanyAddress: "addr", ContactName: "A", ContactPhone: "13800002000",
|
||||
ServiceType: "other", IssueDescription: "issue 2",
|
||||
ServiceType: "maintenance", IssueDescription: "issue 2",
|
||||
}, user.ID)
|
||||
assert.NoError(t, err)
|
||||
|
||||
assert.NotEqual(t, first.SerialNumber, second.SerialNumber)
|
||||
// 第二单的序号应大于第一单(按月递增)
|
||||
// 第二单的序号应大于第一单(按天递增)
|
||||
assert.True(t, second.SerialNumber > first.SerialNumber)
|
||||
|
||||
database.DB.Unscoped().Delete(first)
|
||||
|
||||
Reference in New Issue
Block a user