public void GivenEmptyQueryStrings_WhenCallingGetAll_ThenTwoDummyResultsShouldBeReturned() { // Arrange var students = new List <IStudent> { new Student("Joe", "Smith"), new Student("John", "Bloggs") }; var reply = new GetAllStudentsReplyMessage(Guid.NewGuid()) { Students = students.Cast <Student>() }; var queryCountWrapper = new Mock <IQueryCountWrapper>(); queryCountWrapper.SetupGet(qcw => qcw.QueryCount).Returns(3); var bus = new Mock <IBus>(MockBehavior.Strict); bus .Setup(b => b.SendRequest <GetAllStudentsMessage, GetAllStudentsReplyMessage>(It.IsAny <string>(), It.IsAny <GetAllStudentsMessage>(), null, It.IsAny <int>())) .Returns(reply); var claimsHelper = new Mock <IClaimsHelper>(MockBehavior.Strict); var controller = new StudentController(bus.Object, claimsHelper.Object, queryCountWrapper.Object); // Act var result = controller.GetAll("", "", 0, 0); // Assert Assert.NotNull(result); Assert.Equal(2, result.Count()); }
public void GivenGetAllMessage_WhenCallingGetAllStudentsHandler_ThenCorrespondingReplyIsSend() { // Arrange var repositry = new Mock <ISqlRepository <IStudent> >(MockBehavior.Strict); repositry.Setup(s => s.List(null, null, 0, 0)).Returns(new List <Student> { new Student("test1", "1") { Id = 1 }, new Student("test2", "2") { Id = 2 } }); var claimsHelper = new Mock <IClaimsHelper>(MockBehavior.Strict); claimsHelper.Setup(h => h.GetClaims()).Returns(new Claims() { UserClaims = new UserClaim() { Username = "******" } }); var context = new Mock <IConsumeContext>(MockBehavior.Strict); context.Setup(c => c.Reply(It.IsAny <GetAllStudentsReplyMessage>())); var handler = new SqlGetAllStudentsHandler(repositry.Object, claimsHelper.Object) { Context = context.Object }; GetAllStudentsMessage request = new GetAllStudentsMessage(Guid.NewGuid(), null, null, 0, 0); GetAllStudentsReplyMessage reply = null; // Act handler.Execute(request); // Assert context.Verify(c => c.Reply(It.IsAny <GetAllStudentsReplyMessage>()), Times.Once); }
public void Execute(GetAllStudentsMessage message) { var username = _claimsHelper.GetClaims().UserClaims.Username; if (username == "ofebres-cordero") { var replyMessage = new GetAllStudentsReplyMessage(message.CorrelationId) { Students = _repository.List().Cast <Student>().ToList() }; Context.Reply(replyMessage); } else { Console.WriteLine("Request Failed - Invalid Token"); Context.Reply(new GetAllStudentsReplyMessage(message.CorrelationId)); } }
public void GivenASearchValue_WhenCallingGetAll_ThenThatSearchValueIsPassedToTheMessage() { // Arrange var query = "Name=Joe"; var sortby = "Name DESC"; var pageSize = 10; var page = 0; var students = new List <IStudent> { new Student("Joe", "Smith1") { Id = 3 }, new Student("Joe", "Smith2") { Id = 1 }, new Student("Joe", "Smith3") { Id = 2 } }; GetAllStudentsMessage request = null; GetAllStudentsReplyMessage reply = null; var queryCountWrapper = new Mock <IQueryCountWrapper>(); queryCountWrapper.SetupGet(qcw => qcw.QueryCount).Returns(3); var bus = new Mock <IBus>(MockBehavior.Strict); bus .Setup(b => b.SendRequest <GetAllStudentsMessage, GetAllStudentsReplyMessage>(It.IsAny <string>(), It.IsAny <GetAllStudentsMessage>(), null, It.IsAny <int>())) .Returns <string, GetAllStudentsMessage, Dictionary <string, string>, int>( (endpoint, message, headers, timeout) => { request = message; reply = new GetAllStudentsReplyMessage(message.CorrelationId) { Students = students.Cast <Student>() }; return(reply); }); var claimsHelper = new Mock <IClaimsHelper>(MockBehavior.Strict); var controller = new StudentController(bus.Object, claimsHelper.Object, queryCountWrapper.Object); // Act var result = controller.GetAll(query, sortby, pageSize, page); // Assert Assert.Equal(query, request.Query); Assert.Equal(sortby, request.SortBy); Assert.Equal(pageSize, request.PageSize); Assert.Equal(page, request.Page); Assert.NotNull(result); Assert.Equal(3, result.Count()); Assert.Equal(1, result.First().Id); Assert.Equal(3, result.Last().Id); }