Exemple #1
0
        public async void UserCreationProcessTests_ShouldFailWhenUserNameIsNotUniqueAndRegistrationProcessIsNotComplete()
        {
            // Setup
            InMemoryAccountsRepository inMemoryAccountsRepository = new InMemoryAccountsRepository();

            Bootstrap.Run(new string[0], builder =>
            {
                builder.RegisterInstance(inMemoryAccountsRepository).AsImplementedInterfaces().SingleInstance();
            }, "IntegrationTesting");

            Guid             userId           = Guid.NewGuid();
            AccountPostModel accountPostModel = CreatePostAccountModel(userId);

            // Act
            using (Response <string> response = await RestClient.For <IAccountsApi>(Url).PostAccount(accountPostModel))
            {
                Assert.True(response.ResponseMessage.IsSuccessStatusCode);
                HttpResponseHeaders responseMessageHeaders = response.ResponseMessage.Headers;
                Assert.True(responseMessageHeaders.Location.IsAbsoluteUri);
            }

            using (Response <ModelStateDictionary> response = await RestClient.For <IAccountsApi>(Url).PostAccountError(accountPostModel))
            {
                Assert.False(response.ResponseMessage.IsSuccessStatusCode);
                Dictionary <string, string[]> deserializeObject = JsonConvert.DeserializeObject <Dictionary <string, string[]> >(response.StringContent);
                Assert.Equal($"The provided username {accountPostModel.LoginName} already exists", deserializeObject["LoginName"][0]);
            }
        }
Exemple #2
0
        public void GetAllAccountsFromRepository()
        {
            Accounts accounts1 = GetAccountsName(1, "Rene", "Dahl", "1");

            InMemoryAccountsRepository accRepository = new InMemoryAccountsRepository();

            accRepository.Add(accounts1);

            var controller = GetAccountsController(accRepository);

            var result = controller.Index();

            var datamodel = ((ViewResult)result).ViewData.Model as IList <Accounts>;

            CollectionAssert.Contains(datamodel.ToList(), accounts1);
        }
Exemple #3
0
        public async void UserCreationProcessTests()
        {
            // Setup
            InMemoryAccountsRepository inMemoryAccountsRepository = new InMemoryAccountsRepository();

            Bootstrap.Run(new string[0], builder =>
            {
                builder.RegisterInstance(inMemoryAccountsRepository).AsImplementedInterfaces().SingleInstance();
            }, "IntegrationTesting");

            Guid             userId           = Guid.NewGuid();
            AccountPostModel accountPostModel = CreatePostAccountModel(userId);

            // Act
            HttpResponseHeaders responseMessageHeaders;

            using (Response <string> response = await RestClient.For <IAccountsApi>(Url).PostAccount(accountPostModel))
            {
                Assert.True(response.ResponseMessage.IsSuccessStatusCode);
                responseMessageHeaders = response.ResponseMessage.Headers;
                Assert.True(responseMessageHeaders.Location.IsAbsoluteUri);
            }

            using (Response <string> response = await RestClient.For <IConfirmationApi>(responseMessageHeaders.Location)
                                                .PutConfirmation(new ConfirmationPutModel {
                Confirmed = true
            }))
            {
                Assert.True(response.ResponseMessage.IsSuccessStatusCode);
            }

            using (Response <AccountReadModel> response = await RestClient.For <IAccountsApi>(Url).GetAccount(userId))
            {
                Assert.True(response.ResponseMessage.IsSuccessStatusCode);
                AccountReadModel accountReadModel = response.GetContent();
                Assert.Equal(accountPostModel.LoginName, accountReadModel.LoginName);
                Assert.Equal(accountPostModel.Name, accountReadModel.Name);
                Assert.Equal(accountPostModel.Surname, accountReadModel.Surname);
            }
        }