@@ -20,12 +20,39 @@ func (suite *TestSuiteStandard) TestCategoryArchiveArchivesEnvelopes() {
2020 err := suite .db .Model (& category ).Select ("Hidden" ).Updates (models.Category {CategoryCreate : models.CategoryCreate {Hidden : true }}).Error
2121 assert .Nil (suite .T (), err )
2222
23- // Verify that the envelope is not archived
23+ // Verify that the envelope is archived
2424 err = suite .db .First (& envelope , envelope .ID ).Error
2525 assert .Nil (suite .T (), err )
2626 assert .True (suite .T (), envelope .Hidden , "Envelope was not archived together with category" )
2727}
2828
29+ func (suite * TestSuiteStandard ) TestCategoryArchiveNoEnvelopes () {
30+ budget := suite .createTestBudget (models.BudgetCreate {})
31+ category := suite .createTestCategory (models.CategoryCreate {
32+ BudgetID : budget .ID ,
33+ Name : "TestCategoryArchiveNoEnvelopes" ,
34+ })
35+
36+ category2 := suite .createTestCategory (models.CategoryCreate {
37+ BudgetID : budget .ID ,
38+ })
39+
40+ envelope := suite .createTestEnvelope (models.EnvelopeCreate {
41+ CategoryID : category2 .ID ,
42+ Hidden : false ,
43+ })
44+ assert .False (suite .T (), envelope .Hidden , "Envelope archived on creation, it should not be" )
45+
46+ // Archive the empty category
47+ err := suite .db .Model (& category ).Select ("Hidden" ).Updates (models.Category {CategoryCreate : models.CategoryCreate {Hidden : true }}).Error
48+ assert .Nil (suite .T (), err )
49+
50+ // Verify that the envelope is not archived
51+ err = suite .db .First (& envelope , envelope .ID ).Error
52+ assert .Nil (suite .T (), err )
53+ assert .False (suite .T (), envelope .Hidden , "Envelope was archived together with category" )
54+ }
55+
2956func (suite * TestSuiteStandard ) TestCategorySetEnvelopes () {
3057 category := suite .createTestCategory (models.CategoryCreate {
3158 BudgetID : suite .createTestBudget (models.BudgetCreate {}).ID ,
0 commit comments