Replace status_id with in_progress boolean field
- Remove task_statuses lookup table and StatusID foreign key - Add InProgress boolean field to Task model - Add database migration (005_replace_status_with_in_progress) - Update all handlers, services, and repositories - Update admin frontend to display in_progress as checkbox/boolean - Remove Task Statuses tab from admin lookups page - Update tests to use InProgress instead of StatusID - Task categorization now uses InProgress for kanban column assignment 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -42,12 +42,12 @@ func TestResidenceService_CreateResidence(t *testing.T) {
|
||||
resp, err := service.CreateResidence(req, user.ID)
|
||||
require.NoError(t, err)
|
||||
assert.NotNil(t, resp)
|
||||
assert.Equal(t, "Test House", resp.Name)
|
||||
assert.Equal(t, "123 Main St", resp.StreetAddress)
|
||||
assert.Equal(t, "Austin", resp.City)
|
||||
assert.Equal(t, "TX", resp.StateProvince)
|
||||
assert.Equal(t, "USA", resp.Country) // Default country
|
||||
assert.True(t, resp.IsPrimary) // Default is_primary
|
||||
assert.Equal(t, "Test House", resp.Data.Name)
|
||||
assert.Equal(t, "123 Main St", resp.Data.StreetAddress)
|
||||
assert.Equal(t, "Austin", resp.Data.City)
|
||||
assert.Equal(t, "TX", resp.Data.StateProvince)
|
||||
assert.Equal(t, "USA", resp.Data.Country) // Default country
|
||||
assert.True(t, resp.Data.IsPrimary) // Default is_primary
|
||||
}
|
||||
|
||||
func TestResidenceService_CreateResidence_WithOptionalFields(t *testing.T) {
|
||||
@@ -79,12 +79,12 @@ func TestResidenceService_CreateResidence_WithOptionalFields(t *testing.T) {
|
||||
|
||||
resp, err := service.CreateResidence(req, user.ID)
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, "Canada", resp.Country)
|
||||
assert.Equal(t, 3, *resp.Bedrooms)
|
||||
assert.True(t, resp.Bathrooms.Equal(decimal.NewFromFloat(2.5)))
|
||||
assert.Equal(t, 2000, *resp.SquareFootage)
|
||||
assert.Equal(t, "Canada", resp.Data.Country)
|
||||
assert.Equal(t, 3, *resp.Data.Bedrooms)
|
||||
assert.True(t, resp.Data.Bathrooms.Equal(decimal.NewFromFloat(2.5)))
|
||||
assert.Equal(t, 2000, *resp.Data.SquareFootage)
|
||||
// First residence defaults to primary regardless of request
|
||||
assert.True(t, resp.IsPrimary)
|
||||
assert.True(t, resp.Data.IsPrimary)
|
||||
}
|
||||
|
||||
func TestResidenceService_GetResidence(t *testing.T) {
|
||||
@@ -166,8 +166,8 @@ func TestResidenceService_UpdateResidence(t *testing.T) {
|
||||
|
||||
resp, err := service.UpdateResidence(residence.ID, user.ID, req)
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, "Updated Name", resp.Name)
|
||||
assert.Equal(t, "Dallas", resp.City)
|
||||
assert.Equal(t, "Updated Name", resp.Data.Name)
|
||||
assert.Equal(t, "Dallas", resp.Data.City)
|
||||
}
|
||||
|
||||
func TestResidenceService_UpdateResidence_NotOwner(t *testing.T) {
|
||||
@@ -201,7 +201,7 @@ func TestResidenceService_DeleteResidence(t *testing.T) {
|
||||
user := testutil.CreateTestUser(t, db, "owner", "owner@test.com", "password")
|
||||
residence := testutil.CreateTestResidence(t, db, user.ID, "Test House")
|
||||
|
||||
err := service.DeleteResidence(residence.ID, user.ID)
|
||||
_, err := service.DeleteResidence(residence.ID, user.ID)
|
||||
require.NoError(t, err)
|
||||
|
||||
// Should not be found
|
||||
@@ -221,7 +221,7 @@ func TestResidenceService_DeleteResidence_NotOwner(t *testing.T) {
|
||||
residence := testutil.CreateTestResidence(t, db, owner.ID, "Test House")
|
||||
residenceRepo.AddUser(residence.ID, sharedUser.ID)
|
||||
|
||||
err := service.DeleteResidence(residence.ID, sharedUser.ID)
|
||||
_, err := service.DeleteResidence(residence.ID, sharedUser.ID)
|
||||
assert.ErrorIs(t, err, ErrNotResidenceOwner)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user