using AutoMapper;
using Microsoft.AspNetCore.Http;
using Moq;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Trilogo.Core.AutoMapper;
using Trilogo.Core.Models;

namespace Trilogo.Core.Tests
{
    public static class BuilderBaseTest
    {
        public static AuthenticatedUser BuildAutheticatedUser(int id, string name, string domain)
        {
            var userLogged = new UserAuthModel()
            {
                Id = id,
                Name = name
            };
            
            var mockHttpContextAccessor = new Mock<IHttpContextAccessor>();
            var context = new DefaultHttpContext();
            context.Items["user"] = userLogged;
            mockHttpContextAccessor.Setup(_ => _.HttpContext).Returns(context);

            return new AuthenticatedUser(mockHttpContextAccessor.Object);
        }

        public static Mapper BuilderAutoMapper()
        {
            var mapper = new Mapper(AutoMapperConfig.RegisterMappings());

            return mapper;
        }
    }
}

Add a code snippet to your website: www.paste.org