public async Task <string> Get() { var query = HelloQuery.Create(User.GetUserId()); var result = await _mediator.Send(query); return(result); }
public async Task Notification_given___Clients_called() { var hubContextMock = new Mock <IHubContext <GreetingHub, IGreetingClient> >(MockBehavior.Strict); var hubClientsMock = new Mock <IHubClients <IGreetingClient> >(MockBehavior.Strict); var greetingClientMock = new Mock <IGreetingClient>(MockBehavior.Strict); const string name = "Dummy"; string expectedMessage = $"Hello '{name}' from SignalR"; hubContextMock .Setup(h => h.Clients) .Returns(hubClientsMock.Object) .Verifiable(); hubClientsMock .Setup(h => h.All) .Returns(greetingClientMock.Object) .Verifiable(); greetingClientMock .Setup(g => g.NewGreeting(name, expectedMessage)) .Returns(Task.CompletedTask) .Verifiable(); var notification = new HelloQuery(name); var sut = new HelloNotificationHandler(hubContextMock.Object); await sut.Handle(notification); hubContextMock.Verify(); hubClientsMock.Verify(); greetingClientMock.Verify(); }
public void Ctor_name_is_not_null___property_set() { string name = Guid.NewGuid().ToString(); var sut = new HelloQuery(name); Assert.AreEqual(name, sut.Name); }
public void Run_QueryIsNull_ThrowsArgumentNullException() { // Arrange IQueryRunner queryRunner = new QueryRunner(_queryHandlerFactoryMock.Object); HelloQuery query = null; // Act && Assert var ex = Assert.Throws <ArgumentNullException>(() => queryRunner.Run(query)); Assert.That(ex.ParamName, Is.EqualTo("query")); }
public void Run_ValidState_RunsOk() { // Arrange IQueryRunner queryRunner = new QueryRunner(_queryHandlerFactoryMock.Object); var query = new HelloQuery { Name = "Maria", }; // Act queryRunner.Run(query); // Assert Assert.That(query.GetResult().Greeting, Is.EqualTo("Hello, Maria!")); }
public async Task Query_given___correct_response() { var envMock = new Mock <IWebHostEnvironment>(); var query = new HelloQuery("Dummy"); var sut = new HelloQueryHandler(envMock.Object); envMock .Setup(e => e.ApplicationName) .Returns("Test") .Verifiable(); HelloResponse response = await sut.Handle(query); envMock.Verify(); Assert.AreEqual("Hello 'Dummy' from Test", response.Message); }
public void Run_QueryHandlerFactoryFailsToCreateQueryHandler_ThrowsCannotCreateQueryHandlerException() { // Arrange _queryHandlerFactoryMock .Setup(x => x.Create <HelloQuery>()) .Returns((HelloQueryHandler)null); IQueryRunner queryRunner = new QueryRunner(_queryHandlerFactoryMock.Object); var query = new HelloQuery() { Name = "Maria", }; // Act var ex = Assert.Throws <CannotCreateQueryHandlerException>(() => queryRunner.Run(query)); Assert.That(ex.Message, Is.EqualTo("Attempt to create the query handler failed.")); var innerEx = ex.InnerException; Assert.That(innerEx, Is.Null); }
public void Run_QueryHandlerFactoryThrowsExceptionOnCreation_ThrowsCannotNotCreateQueryHandlerException() { // Arrange _queryHandlerFactoryMock .Setup(x => x.Create <HelloQuery>()) .Callback(() => throw new InvalidOperationException("internal error")); IQueryRunner queryRunner = new QueryRunner(_queryHandlerFactoryMock.Object); var query = new HelloQuery() { Name = "Maria", }; // Act var ex = Assert.Throws <CannotCreateQueryHandlerException>(() => queryRunner.Run(query)); Assert.That(ex.Message, Is.EqualTo("Attempt to create the query handler failed.")); var innerEx = ex.InnerException; Assert.That(innerEx, Is.Not.Null); Assert.That(innerEx, Is.InstanceOf <InvalidOperationException>()); Assert.That(innerEx.Message, Is.EqualTo("internal error")); }