public async Task TestIfGetAllChatRequestsWorksAccordingly()
        {
            var context = PCHUBDbContextInMemoryInitializer.InitializeContext();

            var chatRequests = new RequestChatServices(context);

            var modelOne = new ChatRequestModel();

            modelOne.Email           = "*****@*****.**";
            modelOne.ConnectionId    = "connectionId";
            modelOne.IsAuthenticated = true;
            modelOne.Subject         = "Help me select laptop";

            await chatRequests.AddToQueueAsync(modelOne);

            var modelTwo = new ChatRequestModel();

            modelOne.Email           = "*****@*****.**";
            modelOne.ConnectionId    = "connectionIdrandom";
            modelOne.IsAuthenticated = true;
            modelOne.Subject         = "Help me select random laptop";

            await chatRequests.AddToQueueAsync(modelOne);


            var result = await chatRequests.GetAllChatRequestsAsync();

            Assert.NotEmpty(result);

            Assert.Equal(2, result.Count);
        }
        public async Task TestIfConnectionIdExistsReturnsTrue()
        {
            var context = PCHUBDbContextInMemoryInitializer.InitializeContext();

            var chatRequests = new RequestChatServices(context);

            var modelOne = new ChatRequestModel();

            modelOne.Email           = "*****@*****.**";
            modelOne.ConnectionId    = "connectionId";
            modelOne.IsAuthenticated = true;
            modelOne.Subject         = "Help me select laptop";

            await chatRequests.AddToQueueAsync(modelOne);

            var modelTwo = new ChatRequestModel();

            modelOne.Email           = "*****@*****.**";
            modelOne.ConnectionId    = "connectionIdrandom";
            modelOne.IsAuthenticated = true;
            modelOne.Subject         = "Help me select random laptop";

            await chatRequests.AddToQueueAsync(modelOne);


            Assert.True(await chatRequests.ConnectionIdExistsAsync("connectionId"));


            Assert.True(await chatRequests.ConnectionIdExistsAsync("connectionIdrandom"));
        }
        public async Task TestIfRemoveChatRequestWorksAccordingly(string connectionOne, string connectionTwo)
        {
            var context = PCHUBDbContextInMemoryInitializer.InitializeContext();

            var chatRequests = new RequestChatServices(context);

            var modelOne = new ChatRequestModel();

            modelOne.Email           = "*****@*****.**";
            modelOne.ConnectionId    = connectionOne;
            modelOne.IsAuthenticated = true;
            modelOne.Subject         = "Help me select laptop";

            await chatRequests.AddToQueueAsync(modelOne);

            var modelTwo = new ChatRequestModel();

            modelOne.Email           = "*****@*****.**";
            modelOne.ConnectionId    = connectionTwo;
            modelOne.IsAuthenticated = true;
            modelOne.Subject         = "Help me select random laptop";

            await chatRequests.AddToQueueAsync(modelOne);

            await chatRequests.RemoveChatRequestAsync(connectionOne);

            var resultOne = await chatRequests.GetAllChatRequestsAsync();

            Assert.NotEmpty(resultOne);

            Assert.Single(resultOne);

            await chatRequests.RemoveChatRequestAsync(connectionTwo);

            var resultTwo = await chatRequests.GetAllChatRequestsAsync();

            Assert.Empty(resultTwo);
        }
        public async Task TestIfAddToQueueWorksAccordingly()
        {
            var context = PCHUBDbContextInMemoryInitializer.InitializeContext();

            var chatRequests = new RequestChatServices(context);

            var model = new ChatRequestModel();

            model.Email           = "*****@*****.**";
            model.ConnectionId    = "connectionId";
            model.IsAuthenticated = true;
            model.Subject         = "Help me select laptop";

            await chatRequests.AddToQueueAsync(model);

            var result = await context.ChatRequests.FirstOrDefaultAsync(x => x.Email == "*****@*****.**");

            Assert.NotNull(result);

            Assert.Equal("connectionId", result.ConnetctionId);
            Assert.True(result.IsAuthenticated);
            Assert.Equal("Help me select laptop", result.Subject);
        }