-
Notifications
You must be signed in to change notification settings - Fork 10
/
delete_record_test.go
61 lines (47 loc) · 1.84 KB
/
delete_record_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
package publish_test
import "testing"
func TestDeleteStructFromDraft(t *testing.T) {
name := "delete_product_from_draft"
product := Product{Name: name, Color: Color{Name: name}}
pbprod.Create(&product)
pbdraft.Delete(&product)
pbdraft.Unscoped().First(&product, product.ID)
if !product.PublishStatus {
t.Errorf("Product's publish status should be DIRTY when deleted from draft db")
}
if pbprod.First(&Product{}, "name = ?", name).RecordNotFound() {
t.Errorf("record should not be deleted in production db")
}
if !pbdraft.First(&Product{}, "name = ?", name).RecordNotFound() {
t.Errorf("record should be soft deleted in draft db")
}
if pbdraft.Unscoped().First(&Product{}, "name = ?", name).RecordNotFound() {
t.Errorf("record should be soft deleted in draft db")
}
}
func TestDeleteStructFromProduction(t *testing.T) {
name := "delete_product_from_production"
product := Product{Name: name, Color: Color{Name: name}}
pbprod.Create(&product)
pbprod.Delete(&product)
if !pbprod.First(&Product{}, "name = ?", name).RecordNotFound() {
t.Errorf("record should be soft deleted in production db")
}
if pbdraft.Unscoped().First(&Product{}, "name = ?", name).RecordNotFound() {
t.Errorf("record should be soft deleted in production db")
}
if !pbdraft.First(&Product{}, "name = ?", name).RecordNotFound() {
t.Errorf("record should be soft deleted in draft db")
}
if pbdraft.Unscoped().First(&Product{}, "name = ?", name).RecordNotFound() {
t.Errorf("record should be soft deleted in draft db")
}
pbdraft.Unscoped().First(&product, product.ID)
if product.PublishStatus {
t.Errorf("Product's publish status should be PUBLISHED when deleted from production db")
}
pbprod.Unscoped().First(&product, product.ID)
if product.PublishStatus {
t.Errorf("Product's publish status should be PUBLISHED when deleted from production db")
}
}