(t *testing.T)
| 98 | } |
| 99 | |
| 100 | func TestHasOneAssociationForSlice(t *testing.T) { |
| 101 | users := []User{ |
| 102 | *GetUser("slice-hasone-1", Config{Account: true}), |
| 103 | *GetUser("slice-hasone-2", Config{Account: false}), |
| 104 | *GetUser("slice-hasone-3", Config{Account: true}), |
| 105 | } |
| 106 | |
| 107 | DB.Create(&users) |
| 108 | |
| 109 | // Count |
| 110 | AssertAssociationCount(t, users, "Account", 2, "") |
| 111 | |
| 112 | // Find |
| 113 | var accounts []Account |
| 114 | if DB.Model(&users).Association("Account").Find(&accounts); len(accounts) != 2 { |
| 115 | t.Errorf("accounts count should be %v, but got %v", 3, len(accounts)) |
| 116 | } |
| 117 | |
| 118 | // Append |
| 119 | DB.Model(&users).Association("Account").Append( |
| 120 | &Account{Number: "account-slice-append-1"}, |
| 121 | &Account{Number: "account-slice-append-2"}, |
| 122 | &Account{Number: "account-slice-append-3"}, |
| 123 | ) |
| 124 | |
| 125 | AssertAssociationCount(t, users, "Account", 3, "After Append") |
| 126 | |
| 127 | // Replace -> same as append |
| 128 | |
| 129 | // Delete |
| 130 | if err := DB.Model(&users).Association("Account").Delete(&users[0].Account); err != nil { |
| 131 | t.Errorf("no error should happened when deleting account, but got %v", err) |
| 132 | } |
| 133 | |
| 134 | AssertAssociationCount(t, users, "Account", 2, "after delete") |
| 135 | |
| 136 | // Clear |
| 137 | DB.Model(&users).Association("Account").Clear() |
| 138 | AssertAssociationCount(t, users, "Account", 0, "After Clear") |
| 139 | } |
| 140 | |
| 141 | func TestPolymorphicHasOneAssociation(t *testing.T) { |
| 142 | pet := Pet{Name: "hasone", Toy: Toy{Name: "toy-has-one"}} |
nothing calls this directly
no test coverage detected