|
|
|
@@ -79,7 +79,32 @@ func TestAftersalesService_Create_GeneratesYYMMDDNNSerial(t *testing.T) {
|
|
|
|
|
assert.Equal(t, user.ID, *order.TechnicianID)
|
|
|
|
|
|
|
|
|
|
database.DB.Unscoped().Delete(order)
|
|
|
|
|
database.DB.Unscoped().Where("company_name = ?", "AftersalesSerialCo").Delete(&models.Company{})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func TestAftersalesService_Create_DoesNotCreateManagedCompany(t *testing.T) {
|
|
|
|
|
user := seedTechnician(t, "aftersales_no_company_tech")
|
|
|
|
|
defer database.DB.Unscoped().Delete(&user)
|
|
|
|
|
|
|
|
|
|
companyName := "AftersalesCustomerOnlyCo"
|
|
|
|
|
database.DB.Unscoped().Where("company_name = ?", companyName).Delete(&models.Company{})
|
|
|
|
|
|
|
|
|
|
svc := AftersalesService{}
|
|
|
|
|
order, err := svc.Create(models.CreateAftersalesOrderDTO{
|
|
|
|
|
CompanyName: companyName,
|
|
|
|
|
CompanyAddress: "客户现场地址",
|
|
|
|
|
ContactName: "王五",
|
|
|
|
|
ContactPhone: "13800001235",
|
|
|
|
|
ServiceType: "software",
|
|
|
|
|
IssueDescription: "售后客户问题",
|
|
|
|
|
}, user.ID)
|
|
|
|
|
|
|
|
|
|
assert.NoError(t, err)
|
|
|
|
|
assert.NotNil(t, order)
|
|
|
|
|
defer database.DB.Unscoped().Delete(order)
|
|
|
|
|
|
|
|
|
|
var count int64
|
|
|
|
|
database.DB.Model(&models.Company{}).Where("company_name = ?", companyName).Count(&count)
|
|
|
|
|
assert.Equal(t, int64(0), count)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func TestAftersalesService_Create_SerialIncrementsWithinDay(t *testing.T) {
|
|
|
|
@@ -105,7 +130,6 @@ func TestAftersalesService_Create_SerialIncrementsWithinDay(t *testing.T) {
|
|
|
|
|
|
|
|
|
|
database.DB.Unscoped().Delete(first)
|
|
|
|
|
database.DB.Unscoped().Delete(second)
|
|
|
|
|
database.DB.Unscoped().Where("company_name = ?", "SeqCo").Delete(&models.Company{})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func TestAftersalesService_SubmitForConfirmation_OwnerOnly(t *testing.T) {
|
|
|
|
@@ -116,7 +140,6 @@ func TestAftersalesService_SubmitForConfirmation_OwnerOnly(t *testing.T) {
|
|
|
|
|
|
|
|
|
|
order := createOrderFor(t, owner, "13800003000")
|
|
|
|
|
defer database.DB.Unscoped().Delete(order)
|
|
|
|
|
defer database.DB.Unscoped().Where("company_name = ?", order.CompanyName).Delete(&models.Company{})
|
|
|
|
|
|
|
|
|
|
svc := AftersalesService{}
|
|
|
|
|
|
|
|
|
@@ -141,7 +164,6 @@ func TestAftersalesService_SubmitForConfirmation_RejectsClosed(t *testing.T) {
|
|
|
|
|
|
|
|
|
|
order := createOrderFor(t, owner, "13800004000")
|
|
|
|
|
defer database.DB.Unscoped().Delete(order)
|
|
|
|
|
defer database.DB.Unscoped().Where("company_name = ?", order.CompanyName).Delete(&models.Company{})
|
|
|
|
|
|
|
|
|
|
svc := AftersalesService{}
|
|
|
|
|
|
|
|
|
@@ -163,7 +185,6 @@ func TestAftersalesService_PublicQuery_MasksPhoneAndSetsScannedAt(t *testing.T)
|
|
|
|
|
|
|
|
|
|
order := createOrderFor(t, owner, "13800005000")
|
|
|
|
|
defer database.DB.Unscoped().Delete(order)
|
|
|
|
|
defer database.DB.Unscoped().Where("company_name = ?", order.CompanyName).Delete(&models.Company{})
|
|
|
|
|
|
|
|
|
|
svc := AftersalesService{}
|
|
|
|
|
view, err := svc.PublicQuery(order.SerialNumber)
|
|
|
|
@@ -186,7 +207,6 @@ func TestAftersalesService_CustomerConfirm_Authorize(t *testing.T) {
|
|
|
|
|
|
|
|
|
|
order := createOrderFor(t, owner, "13800006789")
|
|
|
|
|
defer database.DB.Unscoped().Delete(order)
|
|
|
|
|
defer database.DB.Unscoped().Where("company_name = ?", order.CompanyName).Delete(&models.Company{})
|
|
|
|
|
|
|
|
|
|
svc := AftersalesService{}
|
|
|
|
|
_, _ = svc.SubmitForConfirmation(order.SerialNumber, models.SubmitForConfirmationDTO{
|
|
|
|
@@ -217,7 +237,6 @@ func TestAftersalesService_CustomerConfirm_AuthorizeRejectsEmptySignature(t *tes
|
|
|
|
|
|
|
|
|
|
order := createOrderFor(t, owner, "13800007777")
|
|
|
|
|
defer database.DB.Unscoped().Delete(order)
|
|
|
|
|
defer database.DB.Unscoped().Where("company_name = ?", order.CompanyName).Delete(&models.Company{})
|
|
|
|
|
|
|
|
|
|
svc := AftersalesService{}
|
|
|
|
|
_, _ = svc.SubmitForConfirmation(order.SerialNumber, models.SubmitForConfirmationDTO{
|
|
|
|
@@ -239,7 +258,6 @@ func TestAftersalesService_CustomerConfirm_AuthorizeRejectsInvalidSignature(t *t
|
|
|
|
|
|
|
|
|
|
order := createOrderFor(t, owner, "13800007788")
|
|
|
|
|
defer database.DB.Unscoped().Delete(order)
|
|
|
|
|
defer database.DB.Unscoped().Where("company_name = ?", order.CompanyName).Delete(&models.Company{})
|
|
|
|
|
|
|
|
|
|
svc := AftersalesService{}
|
|
|
|
|
_, _ = svc.SubmitForConfirmation(order.SerialNumber, models.SubmitForConfirmationDTO{
|
|
|
|
@@ -271,7 +289,6 @@ func TestAftersalesService_CustomerConfirm_RejectRequiresReason(t *testing.T) {
|
|
|
|
|
|
|
|
|
|
order := createOrderFor(t, owner, "13800008877")
|
|
|
|
|
defer database.DB.Unscoped().Delete(order)
|
|
|
|
|
defer database.DB.Unscoped().Where("company_name = ?", order.CompanyName).Delete(&models.Company{})
|
|
|
|
|
|
|
|
|
|
svc := AftersalesService{}
|
|
|
|
|
_, _ = svc.SubmitForConfirmation(order.SerialNumber, models.SubmitForConfirmationDTO{
|
|
|
|
@@ -293,7 +310,6 @@ func TestAftersalesService_CustomerConfirm_RejectIncrementsCount(t *testing.T) {
|
|
|
|
|
|
|
|
|
|
order := createOrderFor(t, owner, "13800008888")
|
|
|
|
|
defer database.DB.Unscoped().Delete(order)
|
|
|
|
|
defer database.DB.Unscoped().Where("company_name = ?", order.CompanyName).Delete(&models.Company{})
|
|
|
|
|
|
|
|
|
|
svc := AftersalesService{}
|
|
|
|
|
_, _ = svc.SubmitForConfirmation(order.SerialNumber, models.SubmitForConfirmationDTO{
|
|
|
|
@@ -328,7 +344,6 @@ func TestAftersalesService_CustomerConfirm_RejectsWrongStatus(t *testing.T) {
|
|
|
|
|
|
|
|
|
|
order := createOrderFor(t, owner, "13800009999")
|
|
|
|
|
defer database.DB.Unscoped().Delete(order)
|
|
|
|
|
defer database.DB.Unscoped().Where("company_name = ?", order.CompanyName).Delete(&models.Company{})
|
|
|
|
|
|
|
|
|
|
svc := AftersalesService{}
|
|
|
|
|
// 未提交客户确认,工单仍是 created,应该拒绝
|
|
|
|
@@ -345,7 +360,6 @@ func TestAftersalesService_ForceClose_AdminOverride(t *testing.T) {
|
|
|
|
|
|
|
|
|
|
order := createOrderFor(t, owner, "13800001111")
|
|
|
|
|
defer database.DB.Unscoped().Delete(order)
|
|
|
|
|
defer database.DB.Unscoped().Where("company_name = ?", order.CompanyName).Delete(&models.Company{})
|
|
|
|
|
|
|
|
|
|
svc := AftersalesService{}
|
|
|
|
|
updated, err := svc.ForceClose(order.SerialNumber)
|
|
|
|
|