1+ using Autofac ;
2+ using ByteSync . Business . Inventories ;
3+ using ByteSync . Business . PathItems ;
4+ using ByteSync . Business . SessionMembers ;
5+ using ByteSync . Business . Sessions ;
6+ using ByteSync . Common . Business . Misc ;
7+ using ByteSync . Factories ;
8+ using ByteSync . Interfaces . Controls . Applications ;
9+ using ByteSync . Interfaces . Controls . Inventories ;
10+ using ByteSync . Interfaces . Repositories ;
11+ using ByteSync . Interfaces . Services . Sessions ;
12+ using ByteSync . TestsCommon ;
13+ using FluentAssertions ;
14+ using Moq ;
15+
16+ namespace ByteSync . Client . IntegrationTests . Factories ;
17+
18+ public class TestInventoryBuilderFactory : IntegrationTest
19+ {
20+ private InventoryBuilderFactory _inventoryBuilderFactor ;
21+
22+ [ SetUp ]
23+ public void Setup ( )
24+ {
25+ RegisterType < InventoryBuilderFactory > ( ) ;
26+ BuildMoqContainer ( ) ;
27+
28+ _inventoryBuilderFactor = Container . Resolve < InventoryBuilderFactory > ( ) ;
29+ }
30+
31+ [ Test ]
32+ public void CreateInventoryBuilder_ShouldBuildInventoryWithCorrectParts ( )
33+ {
34+ // Arrange
35+ var mockSessionMemberRepo = Container . Resolve < Mock < ISessionMemberRepository > > ( ) ;
36+ var mockSessionService = Container . Resolve < Mock < ISessionService > > ( ) ;
37+ var mockInventoryService = Container . Resolve < Mock < IInventoryService > > ( ) ;
38+ var mockEnvironmentService = Container . Resolve < Mock < IEnvironmentService > > ( ) ;
39+ var mockPathItemRepository = Container . Resolve < Mock < IPathItemRepository > > ( ) ;
40+
41+ var fakeSessionMember = new SessionMemberInfo ( ) ;
42+ var fakeSessionSettings = new SessionSettings ( ) ;
43+ var fakeProcessData = new InventoryProcessData ( ) ;
44+ var fakePlatform = OSPlatforms . Windows ;
45+ var fakePathItems = new List < PathItem > { Mock . Of < PathItem > ( ) , Mock . Of < PathItem > ( ) } ;
46+
47+ mockSessionMemberRepo . Setup ( r => r . GetCurrentSessionMember ( ) ) . Returns ( fakeSessionMember ) . Verifiable ( ) ;
48+ mockSessionService . SetupGet ( s => s . CurrentSessionSettings ) . Returns ( fakeSessionSettings ) . Verifiable ( ) ;
49+ mockInventoryService . SetupGet ( s => s . InventoryProcessData ) . Returns ( fakeProcessData ) . Verifiable ( ) ;
50+ mockEnvironmentService . SetupGet ( e => e . OSPlatform ) . Returns ( fakePlatform ) . Verifiable ( ) ;
51+ mockPathItemRepository . SetupGet ( r => r . SortedCurrentMemberPathItems ) . Returns ( fakePathItems ) . Verifiable ( ) ;
52+
53+ // Act
54+ var inventoryBuilder = _inventoryBuilderFactor . CreateInventoryBuilder ( ) ;
55+
56+ // Assert
57+ inventoryBuilder . Should ( ) . NotBeNull ( ) ;
58+
59+ mockSessionMemberRepo . Verify ( ) ;
60+ mockSessionService . Verify ( ) ;
61+ mockInventoryService . Verify ( ) ;
62+ mockEnvironmentService . Verify ( ) ;
63+ mockPathItemRepository . Verify ( ) ;
64+ }
65+ }
0 commit comments