D2 : exposer DateUpdate sur ResourceDTO pour le filtre incremental
Le client ne pouvait pas savoir qu'une ressource avait change : il ne recevait que dateCreation. La colonne existait deja sur l'entite, elle n'etait simplement pas serialisee. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
7a80766d43
commit
fa92395d17
@ -124,6 +124,36 @@ namespace ManagerService.Tests.Controllers
|
||||
Assert.Equal("New Label", db.Resources.First().Label);
|
||||
}
|
||||
|
||||
// D2 : `dateUpdate` est le seul signal de fraîcheur dont dispose la visite hors
|
||||
// ligne. S'il cessait d'être exposé, le device garderait indéfiniment ses fichiers
|
||||
// périmés — sans erreur, sans trace. D'où ces deux tests plutôt qu'une relecture.
|
||||
[Fact]
|
||||
public void ToDTO_ExposesDateUpdate()
|
||||
{
|
||||
using var db = DbContextFactory.Create();
|
||||
db.Resources.Add(new Resource { Id = "r1", InstanceId = "inst-test", Label = "Img", Type = ResourceType.Image });
|
||||
db.SaveChanges();
|
||||
|
||||
var dto = db.Resources.First().ToDTO();
|
||||
|
||||
Assert.NotEqual(default, dto.dateUpdate);
|
||||
Assert.Equal(db.Resources.First().DateUpdate, dto.dateUpdate);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Update_AdvancesDateUpdate()
|
||||
{
|
||||
using var db = DbContextFactory.Create();
|
||||
db.Resources.Add(new Resource { Id = "r1", InstanceId = "inst-test", Label = "Old", Type = ResourceType.Image });
|
||||
db.SaveChanges();
|
||||
var before = db.Resources.First().DateUpdate;
|
||||
|
||||
var result = BuildController(db).Update(new ResourceDTO { id = "r1", label = "New Label" });
|
||||
|
||||
var dto = Assert.IsType<OkObjectResult>(result).Value as ResourceDTO;
|
||||
Assert.True(dto.dateUpdate > before);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Update_UnknownResource_Returns404()
|
||||
{
|
||||
|
||||
@ -10,6 +10,7 @@ namespace ManagerService.DTOs
|
||||
public string label { get; set; }
|
||||
public string url { get; set; } // firebase url
|
||||
public DateTime dateCreation { get; set; }
|
||||
public DateTime dateUpdate { get; set; }
|
||||
public string instanceId { get; set; }
|
||||
public long sizeBytes { get; set; }
|
||||
}
|
||||
|
||||
@ -75,6 +75,7 @@ namespace ManagerService.Data
|
||||
type = Type,
|
||||
url = Url,
|
||||
dateCreation = DateCreation,
|
||||
dateUpdate = DateUpdate,
|
||||
instanceId = InstanceId,
|
||||
sizeBytes = SizeBytes
|
||||
};
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user