using System.Net; using Microsoft.AspNetCore.Mvc.Testing; namespace CartWise.Web.Tests; public class SmokeTests : IClassFixture { 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); } }