public async Task Replace_ChangedFileIndexItemNameContent() { var createAnImage = new CreateAnImage(); InsertSearchData(); var serviceScopeFactory = NewScopeFactory(); var fakeIMetaUpdateService = _serviceProvider.GetService <IMetaUpdateService>() as FakeIMetaUpdateService; Assert.IsNotNull(fakeIMetaUpdateService); fakeIMetaUpdateService.ChangedFileIndexItemNameContent = new List <Dictionary <string, List <string> > >(); var metaReplaceService = new FakeIMetaReplaceService(new List <FileIndexItem> { new FileIndexItem(createAnImage.DbPath) { Tags = "a", Status = FileIndexItem.ExifStatus.Ok } }); var controller = new MetaReplaceController(metaReplaceService, new FakeIUpdateBackgroundTaskQueue(), new FakeIRealtimeConnectionsService(), new FakeIWebLogger(), serviceScopeFactory); var jsonResult = await controller.Replace(createAnImage.DbPath, "tags", "a", "b") as JsonResult; if (jsonResult == null) { Console.WriteLine("json should not be null"); throw new NullReferenceException(nameof(jsonResult)); } Assert.IsNotNull(fakeIMetaUpdateService); Assert.AreEqual(1, fakeIMetaUpdateService.ChangedFileIndexItemNameContent.Count); var actual = JsonSerializer.Serialize( fakeIMetaUpdateService.ChangedFileIndexItemNameContent[0], DefaultJsonSerializer.CamelCase); var expected = "{\"" + createAnImage.DbPath + "\":[\"tags\"]}"; Assert.AreEqual(expected, actual); }
public async Task Replace_ShouldTriggerBackgroundService_Ok() { var fakeFakeIWebSocketConnectionsService = new FakeIRealtimeConnectionsService(); var metaReplaceService = new FakeIMetaReplaceService(new List <FileIndexItem> { new FileIndexItem("/test09.jpg") { Status = FileIndexItem.ExifStatus.Ok } }); var controller = new MetaReplaceController(metaReplaceService, _bgTaskQueue, fakeFakeIWebSocketConnectionsService, new FakeIWebLogger(), NewScopeFactory()); await controller.Replace("/test09.jpg", "tags", "test", ""); Assert.AreEqual(1, fakeFakeIWebSocketConnectionsService.FakeSendToAllAsync.Count); }