商品已完成优化
This commit is contained in:
@@ -213,6 +213,47 @@ func TestRepositoryUpdateAllowsOfflineListingResubmit(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestRepositoryRejectsCompletedListingOwnerMutations(t *testing.T) {
|
||||
db := database.NewTestDB()
|
||||
if err := db.AutoMigrate(&model.GameAccount{}, &model.RentalListing{}); err != nil {
|
||||
t.Fatalf("failed to migrate test db: %v", err)
|
||||
}
|
||||
repo := NewRepository(db, nil)
|
||||
account := model.GameAccount{
|
||||
OwnerID: 1,
|
||||
GameName: "delta_force",
|
||||
ServerRegion: "QQ",
|
||||
LoginPlatform: "QQ账号密码",
|
||||
Title: "已完成账号",
|
||||
Status: "offline",
|
||||
}
|
||||
if err := db.Create(&account).Error; err != nil {
|
||||
t.Fatalf("failed to create account: %v", err)
|
||||
}
|
||||
listing := model.RentalListing{
|
||||
ListingNo: "202606270099",
|
||||
AccountID: account.ID,
|
||||
OwnerID: 1,
|
||||
Status: "completed",
|
||||
ReviewStatus: "approved",
|
||||
PriceCent: 10000,
|
||||
DepositAmountCent: 50000,
|
||||
}
|
||||
if err := db.Create(&listing).Error; err != nil {
|
||||
t.Fatalf("failed to create listing: %v", err)
|
||||
}
|
||||
|
||||
if _, err := repo.Update(t.Context(), 1, listing.ID, validCreateRequest(), false); err != ErrListingLocked {
|
||||
t.Fatalf("Update expected ErrListingLocked, got %v", err)
|
||||
}
|
||||
if _, err := repo.SubmitReview(t.Context(), 1, listing.ID, false); err != ErrListingLocked {
|
||||
t.Fatalf("SubmitReview expected ErrListingLocked, got %v", err)
|
||||
}
|
||||
if _, err := repo.Offline(t.Context(), 1, listing.ID); err != ErrListingLocked {
|
||||
t.Fatalf("Offline expected ErrListingLocked, got %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
func validCreateRequest() CreateRequest {
|
||||
return CreateRequest{
|
||||
Title: "测试账号",
|
||||
|
||||
Reference in New Issue
Block a user