diff --git a/ShopOnline.Test/GlobalUsings.cs b/ShopOnline.Test/GlobalUsings.cs new file mode 100644 index 0000000..cefced4 --- /dev/null +++ b/ShopOnline.Test/GlobalUsings.cs @@ -0,0 +1 @@ +global using NUnit.Framework; \ No newline at end of file diff --git a/ShopOnline.Test/ShopOnline.Test.csproj b/ShopOnline.Test/ShopOnline.Test.csproj new file mode 100644 index 0000000..0b06437 --- /dev/null +++ b/ShopOnline.Test/ShopOnline.Test.csproj @@ -0,0 +1,21 @@ + + + + net7.0 + enable + enable + + false + true + + + + + + + + + + + + diff --git a/ShopOnline.Test/UnitTest1.cs b/ShopOnline.Test/UnitTest1.cs new file mode 100644 index 0000000..c397e0d --- /dev/null +++ b/ShopOnline.Test/UnitTest1.cs @@ -0,0 +1,37 @@ +using Microsoft.Playwright; +using Microsoft.Playwright.NUnit; +using NUnit.Framework; +namespace ShopOnline.Test; + +public class NunitPlaywright : PageTest +{ + [SetUp] + public async Task Setup() + { + await Page.GotoAsync("https://localhost:7081/"); + } + + [Test] + public async Task AddOneOfEachToCart() + { + await Page.PauseAsync(); + + await Page.GetByRole(AriaRole.Link, new() { Name = "Glossier - Beauty Kit $100.00" }).ClickAsync(); + await Page.GetByRole(AriaRole.Button, new() { Name = "Add To Cart" }).ClickAsync(); + await Page.GetByRole(AriaRole.Link, new() { Name = "Home" }).ClickAsync(); + await Page.GetByRole(AriaRole.Link, new() { Name = "Curology - Skin Care Kit $50.00" }).ClickAsync(); + await Page.GetByRole(AriaRole.Button, new() { Name = "Add To Cart" }).ClickAsync(); + await Page.GetByRole(AriaRole.Link, new() { Name = "Furniture" }).ClickAsync(); + await Page.GetByRole(AriaRole.Link, new() { Name = "Lounge Chair $70.00" }).ClickAsync(); + await Page.GetByRole(AriaRole.Button, new() { Name = "Add To Cart" }).ClickAsync(); + await Page.GetByRole(AriaRole.Link, new() { Name = "Electronics" }).ClickAsync(); + await Page.GetByRole(AriaRole.Link, new() { Name = "Nintendo Gameboy $100.00" }).ClickAsync(); + await Page.GetByRole(AriaRole.Button, new() { Name = "Add To Cart" }).ClickAsync(); + await Page.GetByRole(AriaRole.Link, new() { Name = "Shoes" }).ClickAsync(); + await Page.GetByRole(AriaRole.Link, new() { Name = "Red Nike Trainers $200.00" }).ClickAsync(); + await Page.GetByRole(AriaRole.Button, new() { Name = "Add To Cart" }).ClickAsync(); + await Page.GetByRole(AriaRole.Button).Nth(1).ClickAsync(); + await Page.GetByRole(AriaRole.Link, new() { Name = " Proceed to Checkout" }).ClickAsync(); + + } +} \ No newline at end of file diff --git a/ShopOnlineSolution.sln b/ShopOnlineSolution.sln index 0b0f0cc..46df0e3 100644 --- a/ShopOnlineSolution.sln +++ b/ShopOnlineSolution.sln @@ -9,6 +9,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ShopOnline.Api", "ShopOnlin EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ShopOnline.Models", "ShopOnline.Models\ShopOnline.Models.csproj", "{C0674431-3C6E-4F51-8A5C-0523243EB33D}" EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ShopOnline.Test", "ShopOnline.Test\ShopOnline.Test.csproj", "{8DDCE9E9-6FF7-46EB-85B2-DC2415D0B93C}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -27,6 +29,10 @@ Global {C0674431-3C6E-4F51-8A5C-0523243EB33D}.Debug|Any CPU.Build.0 = Debug|Any CPU {C0674431-3C6E-4F51-8A5C-0523243EB33D}.Release|Any CPU.ActiveCfg = Release|Any CPU {C0674431-3C6E-4F51-8A5C-0523243EB33D}.Release|Any CPU.Build.0 = Release|Any CPU + {8DDCE9E9-6FF7-46EB-85B2-DC2415D0B93C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {8DDCE9E9-6FF7-46EB-85B2-DC2415D0B93C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {8DDCE9E9-6FF7-46EB-85B2-DC2415D0B93C}.Release|Any CPU.ActiveCfg = Release|Any CPU + {8DDCE9E9-6FF7-46EB-85B2-DC2415D0B93C}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE