Skip to content

Commit 12803c5

Browse files
committed
Added option to delete a tag
1 parent 4d73d1b commit 12803c5

File tree

2 files changed

+30
-0
lines changed

2 files changed

+30
-0
lines changed

LinkDotNet.Blog.UnitTests/Web/Shared/Skills/SkillTagTests.cs

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ public void ShouldRenderImageAndText()
1919

2020
cut.Find("span").TextContent.Should().Contain("C#");
2121
cut.Find("img").Attributes.Single(a => a.Name == "src").Value.Should().Be("test");
22+
cut.FindAll("button").Should().HaveCount(0);
2223
}
2324

2425
[Fact]
@@ -31,5 +32,21 @@ public void ShouldNotRenderImageWhenNotAvailable()
3132

3233
cut.FindAll("img").Should().HaveCount(0);
3334
}
35+
36+
[Fact]
37+
public void ShouldInvokeDeleteEvent()
38+
{
39+
var skill = new SkillBuilder().Build();
40+
var wasInvoked = false;
41+
var cut = RenderComponent<SkillTag>(p => p
42+
.Add(
43+
s => s.Skill, skill)
44+
.Add(s => s.IsAuthenticated, true)
45+
.Add(s => s.DeleteSkill, () => wasInvoked = true));
46+
47+
cut.Find("button").Click();
48+
49+
wasInvoked.Should().BeTrue();
50+
}
3451
}
3552
}

LinkDotNet.Blog.Web/Shared/Skills/SkillTag.razor

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,22 @@
66
<img src="@Skill.IconUrl" alt="icon"/>
77
}
88
@Skill.Name
9+
10+
@if (IsAuthenticated)
11+
{
12+
<button type="button" class="btn btn-default" aria-label="Delete Skill" @onclick="() => DeleteSkill.InvokeAsync()">
13+
<i class="fas fa-trash-alt" aria-hidden="true"></i>
14+
</button>
15+
}
916
</span>
1017

1118
@code {
1219
[Parameter]
1320
public Skill Skill { get; set; }
21+
22+
[Parameter]
23+
public bool IsAuthenticated { get; set; }
24+
25+
[Parameter]
26+
public EventCallback DeleteSkill { get; set; }
1427
}

0 commit comments

Comments
 (0)