public PlayController( ILaberBot bot, WebServiceOptions options, IAudioPlayer player, ISoundRepository soundRepository) { _bot = bot; _options = options; _player = player; _soundRepository = soundRepository; }
public async Task <TResponse> SearchClaimAsync <TResponse>(WebServiceOptions options) { TWebService webService = serviceFactory.Create <TWebService>(options.URL); TUser user = createUser( await encryptValueAsync(webService, options.UserName), await encryptValueAsync(webService, options.Password) ); Func <TWebServiceClient, TUser, Task <TResponse> > claimSearchAsync = ExpressionHelpers.CreateClaimSearchDelegate <TWebServiceClient, TUser, TResponse>(); TResponse response = await claimSearchAsync.Invoke(client.Value, user); return(response); }
public async Task Should_ClaimSearchAsync() { //Arrange var service = Mock.Of <IWebService>(); Mock.Get(service) .Setup(_ => _.EncryptValueAsync(It.IsAny <string>())) .ReturnsAsync((string s) => s); var serviceFactory = Mock.Of <IWebServiceFactory>(); Mock.Get(serviceFactory) .Setup(_ => _.Create <IWebService>(It.IsAny <string>())) .Returns(service); var clientFactory = Mock.Of <IClientFactory>(); Mock.Get(clientFactory) .Setup(_ => _.Create <WebServiceWRGClient>()) .Returns(() => new WebServiceWRGClient()); string url = "url"; string username = "******"; string password = "******"; var options = new WebServiceOptions { URL = url, UserName = username, Password = password }; var webService = new WebService <WebServiceWRGClient, IWebService, User1>(serviceFactory, clientFactory); //Act var actual = await webService.SearchClaimAsync <WebServiceResult>(options); //Assert //Mock.Get(serviceFactory).Verify(_ => _.Create<IService1>(url)); //Mock.Get(service).Verify(_ => _.EncryptValue(username)); //Mock.Get(service).Verify(_ => _.EncryptValue(password)); //Mock.Get(clientFactory).Verify(_ => _.Create<Client1>()); actual.Should().NotBeNull(); }