public async Task WhenRegisterReturnsFailedReturnsError()
            {
                var request = new RegisterAccountRequest
                {
                    Email = "*****@*****.**"
                };

                UserServiceMock
                .Setup(us => us.RegisterUserAsync(It.IsAny <RegisterAccountRequest>(), It.IsAny <string>()))
                .ReturnsAsync(RegisterAccountResult.Failed("Test Error"));

                var result = await Controller.RegisterAccount(request);

                var errorValue = TestUtils.GetValueFromResultObject <BadRequestObjectResult, SerializableError>(result);

                CollectionAssert.Contains(errorValue.Keys, string.Empty);
            }
            public async Task WhenRegisterSucceedsReturnsSuccess()
            {
                var request = new RegisterAccountRequest
                {
                    Email = "*****@*****.**"
                };

                UserServiceMock
                .Setup(us => us.RegisterUserAsync(It.IsAny <RegisterAccountRequest>(), It.IsAny <string>()))
                .ReturnsAsync(RegisterAccountResult.Succeeded(new GametekiUser {
                    Settings = new UserSettings()
                }));

                var result = await Controller.RegisterAccount(request);

                var response = TestUtils.GetResponseFromResult <ApiResponse>(result);

                Assert.IsTrue(response.Success);
            }
            public async Task WhenActivationEnabledSendVerificationEmail()
            {
                var request = new RegisterAccountRequest
                {
                    Email = "*****@*****.**"
                };

                ApiOptions.Value.AccountVerification = true;

                UserServiceMock
                .Setup(us => us.RegisterUserAsync(It.IsAny <RegisterAccountRequest>(), It.IsAny <string>()))
                .ReturnsAsync(RegisterAccountResult.Succeeded(new GametekiUser {
                    Settings = new UserSettings()
                }));

                var result = await Controller.RegisterAccount(request);

                var response = TestUtils.GetResponseFromResult <ApiResponse>(result);

                Assert.IsTrue(response.Success);
                UserServiceMock.Verify(
                    us => us.SendActivationEmailAsync(It.IsAny <GametekiUser>(), It.IsAny <AccountVerificationModel>()),
                    Times.Once);
            }