public async Task Should_load_assets_from_ids_and_resolve_tags()
        {
            var id1 = Guid.NewGuid();
            var id2 = Guid.NewGuid();

            var ids = HashSet.Of(id1, id2);

            A.CallTo(() => assetRepository.QueryAsync(appId, A <HashSet <Guid> > .That.IsSameSequenceAs(ids)))
            .Returns(ResultList.Create(8,
                                       CreateAsset(id1, "id1", "id2", "id3"),
                                       CreateAsset(id2)));

            var result = await sut.QueryAsync(context, Q.Empty.WithIds(ids));

            Assert.Equal(8, result.Total);
            Assert.Equal(2, result.Count);

            Assert.Equal(HashSet.Of("name1", "name2", "name3"), result[0].Tags);
            Assert.Empty(result[1].Tags);
        }
예제 #2
0
        public async Task Should_load_assets_from_ids_and_resolve_tags()
        {
            var found1 = new AssetEntity {
                Id = Guid.NewGuid()
            };
            var found2 = new AssetEntity {
                Id = Guid.NewGuid()
            };

            var enriched1 = new AssetEntity();
            var enriched2 = new AssetEntity();

            var ids = HashSet.Of(found1.Id, found2.Id);

            A.CallTo(() => assetRepository.QueryAsync(appId.Id, A <HashSet <Guid> > .That.IsSameSequenceAs(ids)))
            .Returns(ResultList.CreateFrom(8, found1, found2));

            A.CallTo(() => assetEnricher.EnrichAsync(A <IEnumerable <IAssetEntity> > .That.IsSameSequenceAs(found1, found2)))
            .Returns(new List <IEnrichedAssetEntity> {
                enriched1, enriched2
            });

            var result = await sut.QueryAsync(context, Q.Empty.WithIds(ids));

            Assert.Equal(8, result.Total);

            Assert.Equal(new[] { enriched1, enriched2 }, result.ToArray());
        }