public void UserSor_Update_User()
        {
            var user             = new UserGenerator();
            var userDataAccessor = new UserDataAccessor();

            try
            {
                user.CreateInDatabase();
                _test.Log(LogStatus.Info, $"Created user: {user.Id} - {user.UserName}");

                var createdUser = userDataAccessor.GetUser(user.Id);
                createdUser.FullName = "Newfirst Newlast";
                createdUser.Email    = "*****@*****.**";
                userDataAccessor.UpdateUser(createdUser);

                // wait a few seconds for the data to be sent
                Thread.Sleep(TimeSpan.FromSeconds(WaitTime));

                var userSyncData =
                    ApiHelpers.GetProductAccessUser($"{TestEnvironment.DefaultUserType}",
                                                    new IdCreator(TestEnvironment.ClientCode, (int)user.Id, user.UserName).ToString());

                Assert.AreEqual(createdUser.FirstName, userSyncData["FirstName"], "First name does not match");
                _test.Log(LogStatus.Pass, "The changed first name matches");

                Assert.AreEqual(createdUser.LastName, userSyncData["LastName"], "Last name does not match");
                _test.Log(LogStatus.Pass, "The changed last name matches");

                Assert.AreEqual(createdUser.Email, userSyncData["Email"], "Email does not match");
                _test.Log(LogStatus.Pass, "The changed email matches");

                user.DeleteFromDatabase();
            }
            catch (Exception e)
            {
                ReportException(e);
                throw;
            }
        }
        public void UserSor_Create_User()
        {
            var user = new UserGenerator();

            try
            {
                user.CreateInDatabase();
                _test.Log(LogStatus.Info, $"Created user: {user.Id} - {user.UserName}");

                // wait a few seconds for the data to be sent
                Thread.Sleep(TimeSpan.FromSeconds(WaitTime));

                var userSyncData =
                    ApiHelpers.GetProductAccessUser($"{TestEnvironment.DefaultUserType}",
                                                    new IdCreator(TestEnvironment.ClientCode, (int)user.Id, user.UserName).ToString());

                Assert.IsTrue(String.IsNullOrWhiteSpace(userSyncData["Flid"].ToString()), "The Flid is not null");
                _test.Log(LogStatus.Pass, "The Flid is null");

                Assert.AreEqual(user.FirstName, userSyncData["FirstName"], "First name does not match");
                _test.Log(LogStatus.Pass, "The first names match");

                Assert.AreEqual(user.LastName, userSyncData["LastName"], "Last name does not match");
                _test.Log(LogStatus.Pass, "The last names match");

                Assert.AreEqual(user.Email, userSyncData["Email"], "Email does not match");
                _test.Log(LogStatus.Pass, "The emails match");

                Assert.IsTrue(String.IsNullOrWhiteSpace(userSyncData["ExternalId"].ToString()), "ExternalId is not null");
                _test.Log(LogStatus.Pass, "The external ID is null");

                user.DeleteFromDatabase();
            }
            catch (Exception e)
            {
                ReportException(e);
                throw;
            }
        }