Decouple aftersales customers from company management
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user