Skip to content

Commit 4e5e187

Browse files
authored
Update component create extension (#55)
Convert _parentElement to _parentComponent
1 parent a107b93 commit 4e5e187

File tree

5 files changed

+29
-29
lines changed

5 files changed

+29
-29
lines changed

src/Bellatrix.Web/components/core/Component.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -226,7 +226,7 @@ public ComponentsList<TComponent> CreateAll<TComponent, TBy>(TBy by)
226226
}
227227
else
228228
{
229-
elementsCollection = new ComponentsList<TComponent>(by, WrappedElement, ShouldCacheElement);
229+
elementsCollection = new ComponentsList<TComponent>(by, this, ShouldCacheElement);
230230
}
231231

232232
CreatedComponents?.Invoke(this, new ComponentActionEventArgs(this));

src/Bellatrix.Web/components/core/ComponentList/ComponentsList.cs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -26,14 +26,14 @@ public class ComponentsList<TComponent> : IEnumerable<TComponent>
2626
where TComponent : Component
2727
{
2828
private readonly FindStrategy _by;
29-
private readonly IWebElement _parentElement;
29+
private readonly Component _parentComponent;
3030
private readonly List<TComponent> _foundElements;
3131
private readonly bool _shouldCacheFoundElements;
3232
private List<TComponent> _cachedElements;
3333

3434
public ComponentsList(
3535
FindStrategy by,
36-
IWebElement parenTComponent,
36+
Component parenTComponent,
3737
bool shouldCacheFoundElements)
3838
: this(by, parenTComponent)
3939
{
@@ -42,10 +42,10 @@ public ComponentsList(
4242

4343
public ComponentsList(
4444
FindStrategy by,
45-
IWebElement parenTComponent)
45+
Component parenTComponent)
4646
{
4747
_by = by;
48-
_parentElement = parenTComponent;
48+
_parentComponent = parenTComponent;
4949
_foundElements = new List<TComponent>();
5050
WrappedDriver = ServicesCollection.Current.Resolve<IWebDriver>();
5151
}
@@ -149,10 +149,10 @@ IEnumerable<TComponent> GetAndWaitNativeElements()
149149
foreach (var nativeElement in nativeElements)
150150
{
151151
var elementRepository = new ComponentRepository();
152-
if (_parentElement != null)
152+
if (_parentComponent != null)
153153
{
154154
var element =
155-
elementRepository.CreateComponentWithParent<TComponent>(_by, _parentElement, nativeElement, index++, _shouldCacheFoundElements);
155+
elementRepository.CreateComponentWithParent<TComponent>(_by, _parentComponent, nativeElement, index++, _shouldCacheFoundElements);
156156
yield return element;
157157
}
158158
else
@@ -168,11 +168,11 @@ IEnumerable<TComponent> GetAndWaitNativeElements()
168168

169169
private IEnumerable<IWebElement> WaitWebDriverElements()
170170
{
171-
var elementFinder = _parentElement == null
171+
var elementFinder = _parentComponent == null
172172
? new NativeElementFinderService(WrappedDriver)
173-
: new NativeElementFinderService(_parentElement);
173+
: new NativeElementFinderService(_parentComponent.WrappedElement);
174174
var elementWaiter = new ComponentWaitService();
175-
if (_parentElement == null)
175+
if (_parentComponent == null)
176176
{
177177
return ConditionalWait(elementFinder);
178178
}

src/Bellatrix.Web/findstrategies/Angular/ElementCreateExtensions.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,14 +28,14 @@ public static TComponent CreateByNgSelectedOption<TComponent>(this Component ele
2828
where TComponent : Component => element.Create<TComponent, ByNgSelectedOption>(new ByNgSelectedOption(selectedOption));
2929

3030
public static ComponentsList<TComponent> CreateAllByNgBinding<TComponent>(this Component element, string binding)
31-
where TComponent : Component => new ComponentsList<TComponent>(new ByNgBinding(binding), element.WrappedElement);
31+
where TComponent : Component => new ComponentsList<TComponent>(new ByNgBinding(binding), element);
3232

3333
public static ComponentsList<TComponent> CreateAllByNgModel<TComponent>(this Component element, string model)
34-
where TComponent : Component => new ComponentsList<TComponent>(new ByNgModel(model), element.WrappedElement);
34+
where TComponent : Component => new ComponentsList<TComponent>(new ByNgModel(model), element);
3535

3636
public static ComponentsList<TComponent> CreateAllByNgRepeater<TComponent>(this Component element, string repeater)
37-
where TComponent : Component => new ComponentsList<TComponent>(new ByNgRepeater(repeater), element.WrappedElement);
37+
where TComponent : Component => new ComponentsList<TComponent>(new ByNgRepeater(repeater), element);
3838

3939
public static ComponentsList<TComponent> CreateAllByNgSelectedOption<TComponent>(this Component element, string selectedOption)
40-
where TComponent : Component => new ComponentsList<TComponent>(new ByNgSelectedOption(selectedOption), element.WrappedElement);
40+
where TComponent : Component => new ComponentsList<TComponent>(new ByNgSelectedOption(selectedOption), element);
4141
}

src/Bellatrix.Web/findstrategies/ComponentCreateExtensions.cs

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -60,44 +60,44 @@ public static TComponent CreateByAttributesContaining<TComponent>(this Component
6060
where TComponent : Component => element.Create<TComponent, FindAttributeContainingStrategy>(Find.By.AttributeContaining(attributeName, value), shouldCacheElement);
6161

6262
public static ComponentsList<TComponent> CreateAllByIdEndingWith<TComponent>(this Component element, string idEnding, bool shouldCacheFoundElements = false)
63-
where TComponent : Component => new ComponentsList<TComponent>(new FindIdEndingWithStrategy(idEnding), element.WrappedElement, shouldCacheFoundElements);
63+
where TComponent : Component => new ComponentsList<TComponent>(new FindIdEndingWithStrategy(idEnding), element, shouldCacheFoundElements);
6464

6565
public static ComponentsList<TComponent> CreateAllByTag<TComponent>(this Component element, string tag, bool shouldCacheFoundElements = false)
66-
where TComponent : Component => new ComponentsList<TComponent>(new FindTagStrategy(tag), element.WrappedElement, shouldCacheFoundElements);
66+
where TComponent : Component => new ComponentsList<TComponent>(new FindTagStrategy(tag), element, shouldCacheFoundElements);
6767

6868
public static ComponentsList<TComponent> CreateAllById<TComponent>(this Component element, string id, bool shouldCacheFoundElements = false)
69-
where TComponent : Component => new ComponentsList<TComponent>(new FindIdStrategy(id), element.WrappedElement, shouldCacheFoundElements);
69+
where TComponent : Component => new ComponentsList<TComponent>(new FindIdStrategy(id), element, shouldCacheFoundElements);
7070

7171
public static ComponentsList<TComponent> CreateAllByIdContaining<TComponent>(this Component element, string idContaining, bool shouldCacheFoundElements = false)
72-
where TComponent : Component => new ComponentsList<TComponent>(new FindIdContainingStrategy(idContaining), element.WrappedElement, shouldCacheFoundElements);
72+
where TComponent : Component => new ComponentsList<TComponent>(new FindIdContainingStrategy(idContaining), element, shouldCacheFoundElements);
7373

7474
public static ComponentsList<TComponent> CreateAllByValueContaining<TComponent>(this Component element, string valueEnding, bool shouldCacheFoundElements = false)
75-
where TComponent : Component => new ComponentsList<TComponent>(new FindValueContainingStrategy(valueEnding), element.WrappedElement, shouldCacheFoundElements);
75+
where TComponent : Component => new ComponentsList<TComponent>(new FindValueContainingStrategy(valueEnding), element, shouldCacheFoundElements);
7676

7777
public static ComponentsList<TComponent> CreateAllByXpath<TComponent>(this Component element, string xpath, bool shouldCacheFoundElements = false)
78-
where TComponent : Component => new ComponentsList<TComponent>(new FindXpathStrategy(xpath), element.WrappedElement, shouldCacheFoundElements);
78+
where TComponent : Component => new ComponentsList<TComponent>(new FindXpathStrategy(xpath), element, shouldCacheFoundElements);
7979

8080
public static ComponentsList<TComponent> CreateAllByLinkText<TComponent>(this Component element, string linkText, bool shouldCacheFoundElements = false)
81-
where TComponent : Component => new ComponentsList<TComponent>(new FindLinkTextStrategy(linkText), element.WrappedElement, shouldCacheFoundElements);
81+
where TComponent : Component => new ComponentsList<TComponent>(new FindLinkTextStrategy(linkText), element, shouldCacheFoundElements);
8282

8383
public static ComponentsList<TComponent> CreateAllByLinkTextContaining<TComponent>(this Component element, string linkTextContaining, bool shouldCacheFoundElements = false)
84-
where TComponent : Component => new ComponentsList<TComponent>(new FindLinkTextContainsStrategy(linkTextContaining), element.WrappedElement, shouldCacheFoundElements);
84+
where TComponent : Component => new ComponentsList<TComponent>(new FindLinkTextContainsStrategy(linkTextContaining), element, shouldCacheFoundElements);
8585

8686
public static ComponentsList<TComponent> CreateAllByClass<TComponent>(this Component element, string cssClass, bool shouldCacheFoundElements = false)
87-
where TComponent : Component => new ComponentsList<TComponent>(new FindClassStrategy(cssClass), element.WrappedElement, shouldCacheFoundElements);
87+
where TComponent : Component => new ComponentsList<TComponent>(new FindClassStrategy(cssClass), element, shouldCacheFoundElements);
8888

8989
public static ComponentsList<TComponent> CreateAllByCss<TComponent>(this Component element, string cssClass, bool shouldCacheFoundElements = false)
90-
where TComponent : Component => new ComponentsList<TComponent>(new FindCssStrategy(cssClass), element.WrappedElement, shouldCacheFoundElements);
90+
where TComponent : Component => new ComponentsList<TComponent>(new FindCssStrategy(cssClass), element, shouldCacheFoundElements);
9191

9292
public static ComponentsList<TComponent> CreateAllByClassContaining<TComponent>(this Component element, string cssClassContaining, bool shouldCacheFoundElements = false)
93-
where TComponent : Component => new ComponentsList<TComponent>(new FindClassContainingStrategy(cssClassContaining), element.WrappedElement, shouldCacheFoundElements);
93+
where TComponent : Component => new ComponentsList<TComponent>(new FindClassContainingStrategy(cssClassContaining), element, shouldCacheFoundElements);
9494

9595
public static ComponentsList<TComponent> CreateAllByInnerTextContaining<TComponent>(this Component element, string innerText, bool shouldCacheFoundElements = false)
96-
where TComponent : Component => new ComponentsList<TComponent>(new FindInnerTextContainsStrategy(innerText), element.WrappedElement, shouldCacheFoundElements);
96+
where TComponent : Component => new ComponentsList<TComponent>(new FindInnerTextContainsStrategy(innerText), element, shouldCacheFoundElements);
9797

9898
public static ComponentsList<TComponent> CreateAllByNameEndingWith<TComponent>(this Component element, string name, bool shouldCacheFoundElements = false)
99-
where TComponent : Component => new ComponentsList<TComponent>(new FindNameEndingWithStrategy(name), element.WrappedElement, shouldCacheFoundElements);
99+
where TComponent : Component => new ComponentsList<TComponent>(new FindNameEndingWithStrategy(name), element, shouldCacheFoundElements);
100100

101101
public static ComponentsList<TComponent> CreateAllByAttributesContaining<TComponent>(this Component element, string attributeName, string value, bool shouldCacheFoundElements = false)
102-
where TComponent : Component => new ComponentsList<TComponent>(new FindAttributeContainingStrategy(attributeName, value), element.WrappedElement, shouldCacheFoundElements);
102+
where TComponent : Component => new ComponentsList<TComponent>(new FindAttributeContainingStrategy(attributeName, value), element, shouldCacheFoundElements);
103103
}

templates/Bellatrix.Web.GettingStarted/33. Add New Find Locators/ElementCreateExtensions.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,5 @@ public static class ElementCreateExtensions
77
// public static TComponent CreateByIdStartingWith<TComponent>(this Element element, string idPrefix)
88
// where TComponent : Element => ComponentCreateService.Create<TComponent, FindIdStartingWithStrategy>(new FindIdStartingWithStrategy(idPrefix));
99
public static ComponentsList<TComponent> CreateAllByIdStartingWith<TComponent>(this Component element, string idEnding)
10-
where TComponent : Component => new ComponentsList<TComponent>(new FindIdStartingWithStrategy(idEnding), element.WrappedElement);
10+
where TComponent : Component => new ComponentsList<TComponent>(new FindIdStartingWithStrategy(idEnding), element);
1111
}

0 commit comments

Comments
 (0)