public async Task GivenParametersWithWrongFormat_WhenCreating_ThenReturnsBadRequest(string email, string password) { // Arrange var payload = new CreateIdentityDto { Email = email, Username = password, }; // Act var response = await AuthenticatedPost(Endpoint, payload); // Assert response.ShouldBeBadRequest(); }
public async Task GivenValidEmailAndUsername_WhenSigningUp_ThenAccountIsCreatedAndReturnsSuccessfulEnvelope() { // Arrange var payload = new CreateIdentityDto { Email = "*****@*****.**", Username = "******" }; // Act var response = await Client.PostAsJsonAsync(Endpoint, payload); // Assert response.ShouldBeSuccessful(); var envelope = await response.ShouldBeVoid(); envelope.ShouldBeSuccessful(); }
private async Task <IActionResult> CreateNewAccount(CreateIdentityDto dto, IdentityTypes type) { if (!ModelState.IsValid) { return(BadRequest()); } var result = await _identityService.Save( dto.Username, dto.Email, type); if (result.Type == SaveIdentityResult.ResultType.Ok) { return(Ok(Dtos.Envelope.AsSuccess())); } return(Ok(Dtos.Envelope.AsFailure((uint)result.Type))); }
public async Task GivenExistingEmail_ThenSigningUp_ThenReturnsUnsuccessfulEnvelope() { // Arrange var payload = new CreateIdentityDto { Email = "*****@*****.**", Username = "******" }; Factory.IdentityRepositoryMock.Setup(m => m.ExistsByEmail(payload.Email)) .Returns(Task.FromResult(true)); // Act var response = await Client.PostAsJsonAsync(Endpoint, payload); // Assert response.ShouldBeSuccessful(); var envelope = await response.ShouldBeVoid(); envelope.ShouldBeUnsuccessful(); }
public async Task GivenUserIsAuthenticated_WhenCreating_ThenCreatesIdentitySuccessfully() { // Arrange var payload = new CreateIdentityDto { Email = "*****@*****.**", Username = "******", }; Factory.IdentityRepositoryMock.Setup(m => m.ExistsByUsername(payload.Username)).Returns(Task.FromResult(false)); Factory.IdentityRepositoryMock.Setup(m => m.ExistsByEmail(payload.Email)).Returns(Task.FromResult(false)); // Act var response = await AuthenticatedPost(Endpoint, payload); // Assert response.ShouldBeSuccessful(); var envelope = await response.ShouldBeVoid(); envelope.ShouldBeSuccessful(); }
public async Task <IActionResult> Signup([FromBody] CreateIdentityDto dto) { return(await CreateNewAccount(dto, IdentityTypes.Regular)); }
public async Task <IActionResult> Create([FromBody] CreateIdentityDto dto) { return(await CreateNewAccount(dto, IdentityTypes.Contributor)); }