public async Task AddIqOptionAccountAsync_WithExistingAccount_UpdateShouldReceived() { //arrange var model = new IqOptionRequestViewModel() { EmailAddress = "*****@*****.**", Password = "******", }; _commangBus.PublishAsync( Arg.Any <CreateOrUpdateIqAccountCommand>(), Arg.Any <CancellationToken>()) .Returns(Task.FromResult(new IqAccount() { IsSuccess = false })); //act var result = await AutoSubstitute.Resolve <PortalController>() .AddIqOptionAccountAsync(model) as BadRequestObjectResult; //assert result.ShouldNotBeNull(); result.Value.ShouldBe("ไม่สามารถเพิ่มบัญชีได้"); }
public async Task AddIqOptionAccount_WithNotExistingAccount_NewAccountGenerated() { //arrange var model = new IqOptionRequestViewModel() { EmailAddress = "*****@*****.**", Password = "******", }; _commangBus.PublishAsync( Arg.Any <CreateOrUpdateIqAccountCommand>(), Arg.Any <CancellationToken>()) .Returns(Task.FromResult(new IqAccount() { IsSuccess = true })); //act var result = await AutoSubstitute.Resolve <PortalController>() .AddIqOptionAccountAsync(model) as RedirectToActionResult; //assert result.ShouldNotBeNull(); result.ActionName.ShouldContain(nameof(PortalController.IqOptionAccount)); }
public async Task AddIqOptionAccountAsync_WithAnyModel_CommandBusShouldReceived() { //arrange var model = new IqOptionRequestViewModel() { EmailAddress = "*****@*****.**", Password = "******", }; _commangBus.PublishAsync( Arg.Is <CreateOrUpdateIqAccountCommand>(x => x.AccountDetail.IqOptionUserName.Equals("*****@*****.**")), Arg.Any <CancellationToken>()) .Returns(Task.FromResult(new IqAccount() { IsSuccess = true })); //act var result = await AutoSubstitute.Resolve <PortalController>() .AddIqOptionAccountAsync(model); //assert await _commangBus.Received() .PublishAsync(Arg.Any <CreateOrUpdateIqAccountCommand>(), Arg.Any <CancellationToken>()); }
public async Task GetTokenAsync_WithEmailOrPasswordEmpty_ResponseWithOk() { //arrange var requestVm = new IqOptionRequestViewModel(); //act var result = await AutoSubstitute.Resolve <IqOptionController>() .GetTokenAsync(requestVm) as OkResult; //assert result.ShouldNotBeNull(); }
public async Task <IActionResult> AddIqOptionAccountAsync(IqOptionRequestViewModel requestViewModel) { var iqoptionAccount = _mapper.Map <IqAccount>(requestViewModel); var result = await _commandBus.PublishAsync( new CreateOrUpdateIqAccountCommand(IqOptionIdentity.New, iqoptionAccount, HttpContext?.User?.Identity?.Name), CancellationToken.None); if (result.IsSuccess) { return(RedirectToAction("IqOptionAccount", "Portal")); } return(BadRequest("ไม่สามารถเพิ่มบัญชีได้")); }
public void Mapper_WithUserId_PropertiesShouldSet() { //arrange var model = new IqOptionRequestViewModel(); model.EmailAddress = "*****@*****.**"; model.Password = "******"; model.ProfileResponseViewModel = new IqOptionProfileResponseViewModel { UserId = 1234 }; //act var result = Mapper.Map <IqOptionAccountDto>(model); //assert Mapper.AssertConfigurationIsValid(); result.IqOptionUserId.ShouldBe(1234); }
public void Mapper_WithEmailAndPassword_PropertiesShouldSet() { Mapper.Reset(); Mapper.Initialize(c => c.AddProfile <IqOptionAccountDtoMappedProfile>()); //arrange var model = new IqOptionRequestViewModel(); model.EmailAddress = "*****@*****.**"; model.Password = "******"; //act var result = Mapper.Map <IqOptionAccountDto>(model); //assert Mapper.AssertConfigurationIsValid(); result.IqOptionUserName.ShouldBe("*****@*****.**"); result.Password.ShouldBe("password"); }
public async Task <IActionResult> AddIqOptionAccountAsync(IqOptionRequestViewModel requestViewModel) { var iqoptionAccount = _mapper.Map <IqAccount>(requestViewModel); var result = await _commandBus.PublishAsync( new CreateOrUpdateIqAccountCommand(IqIdentity.New, iqoptionAccount, HttpContext?.User?.Identity?.Name), CancellationToken.None); if (result.IsSuccess) { //use command to update await _commandBus.PublishAsync( new SetActiveAccountcommand(IqIdentity.New, new SetActiveAccountStatusItem(true, (int)requestViewModel.ProfileResponseViewModel.UserId)), CancellationToken.None); return(RedirectToAction("IqOptionAccount", "Portal")); } return(BadRequest("ไม่สามารถเพิ่มบัญชีได้")); }
public async Task <IActionResult> GetTokenAsync(IqOptionRequestViewModel requestViewModel) { if (string.IsNullOrEmpty(requestViewModel.EmailAddress) || string.IsNullOrEmpty(requestViewModel.Password)) { return(Ok()); } try { var loginObs = await _commandBus.PublishAsync(new IqLoginCommand(IqIdentity.New, requestViewModel.EmailAddress, requestViewModel.Password), default(CancellationToken)); if (loginObs.IsSuccess) { var profile = await _queryProcessor.ProcessAsync(new GetProfileQuery(loginObs.Ssid), CancellationToken.None) .ContinueWith(t => _mapper.Map <IqOptionProfileResponseViewModel>(t.Result.ProfileResult)); requestViewModel.ProfileResponseViewModel = profile; requestViewModel.IsPassed = true; requestViewModel.ProfileResponseViewModel.Ssid = loginObs.Ssid; requestViewModel.ProfileResponseViewModel.SsidUpdated = DateTime.Now; return(IqOptionProfile(requestViewModel)); } throw new Exception(loginObs.Message); } catch (AggregateException arex) { _logger.LogWarning("GetToken Failed", arex.GetBaseException().Message); return(BadRequest(arex.GetBaseException().Message)); } catch (Exception ex) { _logger.LogCritical(nameof(IqOptionProfile), ex); return(BadRequest(ex.Message)); } }
public IActionResult IqOptionProfile(IqOptionRequestViewModel model) { return(PartialView("IqOption/_IqOptionAccountViewPartial", model)); }
public IActionResult AddIqOptionAccoutToUser(IqOptionRequestViewModel requestViewModel) => View("Index");