|
- using System.Net;
- using Microsoft.AspNetCore.Mvc.Testing;
-
- namespace CartWise.Web.Tests;
-
- public class SmokeTests : IClassFixture<CartWiseWebApplicationFactory>
- {
- private readonly HttpClient _client;
-
- public SmokeTests(CartWiseWebApplicationFactory factory)
- {
- _client = factory.CreateClient(new WebApplicationFactoryClientOptions
- {
- AllowAutoRedirect = false
- });
- }
-
- [Fact]
- public async Task Home_ReturnsSuccess()
- {
- var response = await _client.GetAsync("/");
-
- Assert.Equal(HttpStatusCode.OK, response.StatusCode);
- }
-
- [Fact]
- public async Task ProtectedRoute_RedirectsAnonymousUserToLogin()
- {
- var response = await _client.GetAsync("/Home/Privacy");
-
- Assert.Equal(HttpStatusCode.Redirect, response.StatusCode);
- Assert.Contains("/Account/Login", response.Headers.Location?.ToString());
- }
-
- [Fact]
- public async Task LoginPage_ReturnsSuccess()
- {
- var response = await _client.GetAsync("/Account/Login");
-
- Assert.Equal(HttpStatusCode.OK, response.StatusCode);
- }
-
- [Fact]
- public async Task RegisterPage_ReturnsSuccess()
- {
- var response = await _client.GetAsync("/Account/Register");
-
- Assert.Equal(HttpStatusCode.OK, response.StatusCode);
- }
- }
|