Skip to content

Commit 676dd62

Browse files
authored
feat: Add root node filtering to Cnmm data source
Add root node filtering to Cnmm data source
2 parents 2690ed3 + a07ced1 commit 676dd62

File tree

6 files changed

+360
-19
lines changed

6 files changed

+360
-19
lines changed

PxWeb.UnitTests/DataSource/CnmmDataSourceTest.cs

Lines changed: 21 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ public void ResolveShouldResolveItemCollection()
1212
var memorymock = new Mock<IPxCache>();
1313
var configMock = new Mock<IPxApiConfigurationService>();
1414
var pcAxisFactory = new Mock<IItemSelectionResolverFactory>();
15+
var cnmmConfigMock = new Mock<IOptions<CnmmConfigurationOptions>>();
16+
cnmmConfigMock.Setup(x => x.Value).Returns(new CnmmConfigurationOptions());
1517

1618
var testFactory = new TestFactory();
1719
var dict = testFactory.GetMenuLookupFolders();
@@ -21,7 +23,7 @@ public void ResolveShouldResolveItemCollection()
2123

2224
pcAxisFactory.Setup(x => x.GetMenuLookupFolders(language)).Returns(dict);
2325

24-
var resolver = new ItemSelectionResolverCnmm(memorymock.Object, pcAxisFactory.Object, configMock.Object);
26+
var resolver = new ItemSelectionResolverCnmm(memorymock.Object, pcAxisFactory.Object, configMock.Object, cnmmConfigMock.Object);
2527

2628
bool selectionExists;
2729

@@ -40,6 +42,8 @@ public void ResolveEmtySelectionItemShouldReturnStart()
4042
var memorymock = new Mock<IPxCache>();
4143
var configMock = new Mock<IPxApiConfigurationService>();
4244
var pcAxisFactory = new Mock<IItemSelectionResolverFactory>();
45+
var cnmmConfigMock = new Mock<IOptions<CnmmConfigurationOptions>>();
46+
cnmmConfigMock.Setup(x => x.Value).Returns(new CnmmConfigurationOptions());
4347

4448
var testFactory = new TestFactory();
4549
var dict = testFactory.GetMenuLookupFolders();
@@ -49,7 +53,7 @@ public void ResolveEmtySelectionItemShouldReturnStart()
4953

5054
pcAxisFactory.Setup(x => x.GetMenuLookupFolders(language)).Returns(dict);
5155

52-
var resolver = new ItemSelectionResolverCnmm(memorymock.Object, pcAxisFactory.Object, configMock.Object);
56+
var resolver = new ItemSelectionResolverCnmm(memorymock.Object, pcAxisFactory.Object, configMock.Object, cnmmConfigMock.Object);
5357

5458
bool selectionExists;
5559

@@ -71,6 +75,7 @@ public void ShouldReturnMenu()
7175
var configServiceMock = new Mock<ICnmmConfigurationService>();
7276
var codelistMapperMock = new Mock<ICodelistMapper>();
7377
var pxApiConfig = new Mock<IOptions<PxApiConfigurationOptions>>();
78+
var cnmmConfigMock = new Mock<IOptions<CnmmConfigurationOptions>>();
7479

7580
var pcAxisFactory = new Mock<IItemSelectionResolverFactory>();
7681

@@ -82,11 +87,11 @@ public void ShouldReturnMenu()
8287

8388
pcAxisFactory.Setup(x => x.GetMenuLookupFolders(language)).Returns(dict);
8489

85-
var resolver = new ItemSelectionResolverCnmm(memorymock.Object, pcAxisFactory.Object, configMock.Object);
90+
var resolver = new ItemSelectionResolverCnmm(memorymock.Object, pcAxisFactory.Object, configMock.Object, cnmmConfigMock.Object);
8691
var tablePathResolver = new TablePathResolverCnmm(configServiceMock.Object, resolver);
8792
pxApiConfig.Setup(x => x.Value).Returns(config);
8893

89-
var datasource = new CnmmDataSource(configServiceMock.Object, resolver, tablePathResolver, codelistMapperMock.Object, pxApiConfig.Object);
94+
var datasource = new CnmmDataSource(configServiceMock.Object, resolver, tablePathResolver, codelistMapperMock.Object, pxApiConfig.Object, cnmmConfigMock.Object);
9095

9196
bool selectionExists;
9297

@@ -106,6 +111,7 @@ public void TableExistsCNMMShouldReturnTrue()
106111
var configServiceMock = new Mock<ICnmmConfigurationService>();
107112
var codelistMapperMock = new Mock<ICodelistMapper>();
108113
var pxApiConfig = new Mock<IOptions<PxApiConfigurationOptions>>();
114+
var cnmmConfigMock = new Mock<IOptions<CnmmConfigurationOptions>>();
109115

110116
var pcAxisFactory = new Mock<IItemSelectionResolverFactory>();
111117

@@ -117,12 +123,12 @@ public void TableExistsCNMMShouldReturnTrue()
117123

118124
pcAxisFactory.Setup(x => x.GetMenuLookupTables(language)).Returns(dict);
119125

120-
var resolver = new ItemSelectionResolverCnmm(memorymock.Object, pcAxisFactory.Object, configMock.Object);
126+
var resolver = new ItemSelectionResolverCnmm(memorymock.Object, pcAxisFactory.Object, configMock.Object, cnmmConfigMock.Object);
121127
var tablePathResolver = new TablePathResolverCnmm(configServiceMock.Object, resolver);
122128

123129
pxApiConfig.Setup(x => x.Value).Returns(config);
124130

125-
var datasource = new CnmmDataSource(configServiceMock.Object, resolver, tablePathResolver, codelistMapperMock.Object, pxApiConfig.Object);
131+
var datasource = new CnmmDataSource(configServiceMock.Object, resolver, tablePathResolver, codelistMapperMock.Object, pxApiConfig.Object, cnmmConfigMock.Object);
126132

127133
var result = datasource.TableExists("Befolkning", language);
128134

@@ -140,6 +146,7 @@ public void TableExistsCNMMShouldReturnFalse()
140146
var configServiceMock = new Mock<ICnmmConfigurationService>();
141147
var codelistMapperMock = new Mock<ICodelistMapper>();
142148
var pxApiConfig = new Mock<IOptions<PxApiConfigurationOptions>>();
149+
var cnmmConfigMock = new Mock<IOptions<CnmmConfigurationOptions>>();
143150

144151
var pcAxisFactory = new Mock<IItemSelectionResolverFactory>();
145152

@@ -151,11 +158,11 @@ public void TableExistsCNMMShouldReturnFalse()
151158

152159
pcAxisFactory.Setup(x => x.GetMenuLookupTables(language)).Returns(dict);
153160

154-
var resolver = new ItemSelectionResolverCnmm(memorymock.Object, pcAxisFactory.Object, configMock.Object);
161+
var resolver = new ItemSelectionResolverCnmm(memorymock.Object, pcAxisFactory.Object, configMock.Object, cnmmConfigMock.Object);
155162
var tablePathResolver = new TablePathResolverCnmm(configServiceMock.Object, resolver);
156163
pxApiConfig.Setup(x => x.Value).Returns(config);
157164

158-
var datasource = new CnmmDataSource(configServiceMock.Object, resolver, tablePathResolver, codelistMapperMock.Object, pxApiConfig.Object);
165+
var datasource = new CnmmDataSource(configServiceMock.Object, resolver, tablePathResolver, codelistMapperMock.Object, pxApiConfig.Object, cnmmConfigMock.Object);
159166

160167
var result = datasource.TableExists("select * from Befolkning", language);
161168

@@ -173,15 +180,19 @@ public void GetTableLanguages_ShouldReturn_emptyMappingWhenNoDataSourceSpecified
173180
var codelistMapperMock = new Mock<ICodelistMapper>();
174181
var pxApiConfig = new Mock<IOptions<PxApiConfigurationOptions>>();
175182
var pcAxisFactory = new Mock<IItemSelectionResolverFactory>();
183+
var cnmmConfigMock = new Mock<IOptions<CnmmConfigurationOptions>>();
184+
cnmmConfigMock.Setup(x => x.Value).Returns(new CnmmConfigurationOptions());
185+
186+
176187
var testFactory = new TestFactory();
177188
var dict = testFactory.GetMenuLookupTables();
178189
var config = testFactory.GetPxApiConfiguration();
179190
configMock.Setup(x => x.GetConfiguration()).Returns(config);
180191
pcAxisFactory.Setup(x => x.GetMenuLookupTables(language)).Returns(dict);
181-
var resolver = new ItemSelectionResolverCnmm(memorymock.Object, pcAxisFactory.Object, configMock.Object);
192+
var resolver = new ItemSelectionResolverCnmm(memorymock.Object, pcAxisFactory.Object, configMock.Object, cnmmConfigMock.Object);
182193
var tablePathResolver = new TablePathResolverCnmm(configServiceMock.Object, resolver);
183194
pxApiConfig.Setup(x => x.Value).Returns(config);
184-
var datasource = new CnmmDataSource(configServiceMock.Object, resolver, tablePathResolver, codelistMapperMock.Object, pxApiConfig.Object);
195+
var datasource = new CnmmDataSource(configServiceMock.Object, resolver, tablePathResolver, codelistMapperMock.Object, pxApiConfig.Object, cnmmConfigMock.Object);
185196

186197
//Act
187198
var mapping = datasource.GetTableLanguages();

0 commit comments

Comments
 (0)