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]); } }
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); }
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); } }