protected override FlowInitializerWithLifecycleAdapter <TInitializer> BuildAdapter() { var adapter = new FlowInitializerWithLifecycleAdapter <TInitializer>(Mocker.CreateInstance <TInitializer>()); return(adapter); }
public async void HandleAddBookCommand_WithCorrectParameters_ShouldReturnNoErrors() { //Arrange #region .:: Objects build ::. AddBookCommand addBookCommand = new AddBookCommand("Pet Sematary", 2013, 1, "9788581050393", Guid.NewGuid().ToString()); Author author = new Author(Guid.NewGuid(), "Stephen King"); Book book = new Book(Guid.NewGuid(), "Pet Sematary", 2013, 1, "9788581050393", author); #endregion #region .:: Mocks ::. Mocker.GetMock <IAuthorRepository>() .Setup(b => b.GetAuthorById(It.IsAny <Guid>())) .Returns(() => Task.FromResult <Author>(author)); Mocker.GetMock <IBookRepository>() .Setup(b => b.AddBook(It.IsAny <Book>())) .Returns(() => Task.FromResult(book)); #endregion var sut = Mocker.CreateInstance <AddBookCommandHandler>(); //Act AddBookCommandResponseViewModel result = await sut.Handle(addBookCommand, new CancellationToken()); //Assert DomainNotifications.GetAll().Should().BeEmpty(); Mocker.GetMock <IAuthorRepository>().Verify(x => x.GetAuthorById(It.IsAny <Guid>()), Times.Once()); Mocker.GetMock <IBookRepository>().Verify(x => x.AddBook(It.IsAny <Book>()), Times.Once()); }
protected void WithRealHttp() { Mocker.Use <IEnvInfo>(Mocker.CreateInstance <EnvInfo>()); Mocker.Use <IUserAgentBuilder>(Mocker.CreateInstance <UserAgentBuilder>()); Mocker.Use(Mocker.CreateInstance <MachineId>()); Mocker.Use <IHttpClient>(Mocker.CreateInstance <HttpClient>()); }
public async void HandleAddPersonCommand_WithUser_ShouldReturnUserAlreadyExists() { //Arrange #region build person string document = "75115775122"; string name = "Andre Santarosa"; string phoneNumber = "19999990000"; string email = "*****@*****.**"; Person person = null; person = new Person(Guid.NewGuid(), document, name, email); List <PersonPhone> phones = new List <PersonPhone>(); phones.Add(new PersonPhone(Guid.NewGuid(), phoneNumber, person)); #endregion Mocker.GetMock <IPersonRepository>() .Setup(u => u.GetByDocument(It.IsAny <string>(), It.IsAny <bool>())) .Returns(() => Task.FromResult(person)); var sut = Mocker.CreateInstance <AddPersonCommandHandler>(); var personCommand = new AddPersonCommand(document, name, email, new List <string>() { phoneNumber }); //Act await sut.Handle(personCommand, new System.Threading.CancellationToken()); //Assert DomainNotifications.GetAll().Should().NotBeEmpty().And.Contain(x => x == Domain.Resources.Messages.Person_PersonWithDocumentExists) .And.HaveCount(1); Mocker.GetMock <IPersonRepository>().Verify(x => x.GetByDocument(It.IsAny <string>(), It.IsAny <bool>()), Times.Once()); Mocker.GetMock <IPersonRepository>().Verify(x => x.AddPerson(It.IsAny <Person>()), Times.Never()); }
async Task RequestLoanCommand_WithInvalidBook_ShoudlReturnBookNotFound() { //arrage RequestLoanCommand command = new RequestLoanCommand("12345678998", Guid.NewGuid().ToString()); Mocker.GetMock <IPersonRepository>() .Setup(p => p.GetByDocument(It.IsAny <string>(), It.IsAny <bool>())) .Returns(() => Task.FromResult(PersonFactory.ReturnPerson())); Mocker.GetMock <IBookRepository>() .Setup(b => b.GetById(It.IsAny <Guid>())) .Returns(() => Task.FromResult <Book>(null)); var sut = Mocker.CreateInstance <RequestLoanCommandHandler>(); //act await sut.Handle(command, new CancellationToken()); //assert Mocker.GetMock <IPersonRepository>().Verify(x => x.GetByDocument(It.IsAny <string>(), It.IsAny <bool>()), Times.Once()); Mocker.GetMock <IBookRepository>().Verify(x => x.GetById(It.IsAny <Guid>()), Times.Once()); Mocker.GetMock <IBookLoanRepository>().Verify(x => x.Add(It.IsAny <BookLoan>()), Times.Never); DomainNotifications.GetAll().Should().NotBeEmpty() .And.HaveCount(1) .And.Contain(x => x == Messages.BookLoan_BookNotFound); }
public void WhenGet() { var subject = Mocker.CreateInstance <GetInputLines>(); var lines = AutoFixture.CreateMany <string>().ToList(); var input = string.Join("\r\n", lines); var result = subject.Get(input); result.Should().Equal(lines); }
public async void HandleAddAuthorCommand_WithInvalidMinimumChars_ShouldReturnError(string authorName) { //Arrange AddAuthorCommand request = new AddAuthorCommand(authorName); var sut = Mocker.CreateInstance <AddAuthorCommandHandler>(); //Act await sut.Handle(request, new CancellationToken()); //Assert DomainNotifications.GetAll().Should().NotBeEmpty(); Mocker.GetMock <IAuthorRepository>().Verify(x => x.AddAuthor(It.IsAny <Author>()), Times.Never); }
public MessageRepositoryTests() { _allEntities = new[] { _entity }.AsQueryable(); _entitiesPagination = new Pagination <MessageEntity> { Items = _allEntities.ToList() }; _modelsPagination = new Pagination <MessageModel> { Items = new[] { _model } }; SetupFilter(); SetupMessageCreated(); _instance = Mocker.CreateInstance <MessageRepository>(); }
public async void HandleAddAuthorCommand_WithValidAuthor_ShouldReturnNoErrors() { //Arrange AddAuthorCommand request = new AddAuthorCommand("Stephen King"); var sut = Mocker.CreateInstance <AddAuthorCommandHandler>(); //Act await sut.Handle(request, new CancellationToken()); //Assert DomainNotifications.GetAll().Should().BeEmpty(); Mocker.GetMock <IAuthorRepository>().Verify(x => x.AddAuthor(It.IsAny <Author>()), Times.Once); }
async Task RequestLoanCommand_WithInvalidBookGuid_ShouldReturnError(string bookGuid, string outputError) { //arrage RequestLoanCommand command = new RequestLoanCommand("", bookGuid); var sut = Mocker.CreateInstance <RequestLoanCommandHandler>(); //act await sut.Handle(command, new CancellationToken()); //assert DomainNotifications.GetAll().Should().NotBeNullOrEmpty() .And.HaveCount(1) .And.Contain(x => x == outputError); Mocker.GetMock <IPersonRepository>().Verify(x => x.GetByDocument(It.IsAny <string>(), It.IsAny <bool>()), Times.Never()); }
public void WhenGet() { var subject = Mocker.CreateInstance <GetLine>(); var input = AutoFixture.Create <string>(); var directionsByInstruction = input.Distinct().ToDictionary(i => i, i => AutoFixture.Create <Direction>()); Mocker.GetMock <IGetDirection>() .Setup(gd => gd.Get(It.Is <char>(c => directionsByInstruction.ContainsKey(c)))) .Returns <char>(c => directionsByInstruction[c]); var result = subject.Get(input); result.Directions.Should().Equal(input.Select(c => directionsByInstruction[c])); }
public void WhenGet() { var subject = Mocker.CreateInstance <GetLines>(); var inputs = AutoFixture.CreateMany <string>().ToList(); var linesByInput = inputs.ToDictionary(input => input, input => AutoFixture.Create <Line>()); Mocker.GetMock <IGetLine>() .Setup(igl => igl.Get(It.Is <string>(s => inputs.Contains(s)))) .Returns <string>(s => linesByInput[s]); var result = subject.Get(inputs); result.Should().Equal(linesByInput.Values); }
public async void HandleReturnBookCommand_WithInvalidGuid_ShouldReturnInvalidLoanGuid(string loanId, string outputError) { //Arrange ReturnBookCommand returnBookCommand = new ReturnBookCommand(loanId); var sut = Mocker.CreateInstance <ReturnBookCommandHandler>(); //Act ReturnBookCommandResponseViewModel result = await sut.Handle(returnBookCommand, new CancellationToken()); //Assert DomainNotifications.GetAll().Should().NotBeNullOrEmpty() .And.Contain(x => x == outputError); Mocker.GetMock <IBookLoanRepository>().Verify(x => x.Update(It.IsAny <BookLoan>()), Times.Never()); }
public async void HandleAddBookCommand_WithInvalidGuid_ShouldReturnInvalidAuthorGuid(string authorId, string outputError) { //Arrange AddBookCommand addBookCommand = new AddBookCommand("Pet Sematary", 2013, 1, "9788581050393", authorId); var sut = Mocker.CreateInstance <AddBookCommandHandler>(); //Act AddBookCommandResponseViewModel result = await sut.Handle(addBookCommand, new CancellationToken()); //Assert DomainNotifications.GetAll().Should().NotBeNullOrEmpty() .And.Contain(x => x == outputError); Mocker.GetMock <IAuthorRepository>().Verify(x => x.GetAuthorById(It.IsAny <Guid>()), Times.Never()); }
public async void HandleAddPersonCommand_WithWrongDocumentCharCount_ShouldReturnDocumentCharCountError(string document, string name, string email, string phoneNumber) { //Arrange var sut = Mocker.CreateInstance <AddPersonCommandHandler>(); var request = new AddPersonCommand(document, name, email, new List <string>() { phoneNumber }); //Act await sut.Handle(request, new System.Threading.CancellationToken()); //Assert DomainNotifications.GetAll().Should().NotBeEmpty(); Mocker.GetMock <IPersonRepository>().Verify(x => x.AddPerson(It.IsAny <Person>()), Times.Never()); }
public async void HandleReturnBookCommand_WithInvalidLoan_ShouldReturnInvalidLoan() { //Arrange ReturnBookCommand returnBookCommand = new ReturnBookCommand(Guid.NewGuid().ToString()); var sut = Mocker.CreateInstance <ReturnBookCommandHandler>(); Mocker.GetMock <IBookLoanRepository>() .Setup(p => p.GetByLoanId(It.IsAny <Guid>(), It.IsAny <bool>())) .Returns(() => Task.FromResult <BookLoan>(null)); //Act ReturnBookCommandResponseViewModel result = await sut.Handle(returnBookCommand, new CancellationToken()); //Assert DomainNotifications.GetAll().Should().NotBeNullOrEmpty() .And.Contain(x => x == "Book loan not found"); Mocker.GetMock <IBookLoanRepository>().Verify(x => x.Update(It.IsAny <BookLoan>()), Times.Never()); }
public async void HandleAddBookCommand_WitInvalidAuthor_ShouldReturnInvalidAuthor() { //Arrange AddBookCommand addBookCommand = new AddBookCommand("Pet Sematary", 2013, 1, "9788581050393", Guid.NewGuid().ToString()); var sut = Mocker.CreateInstance <AddBookCommandHandler>(); Mocker.GetMock <IAuthorRepository>() .Setup(b => b.GetAuthorById(It.IsAny <Guid>())) .Returns(() => Task.FromResult <Author>(null)); //Act AddBookCommandResponseViewModel result = await sut.Handle(addBookCommand, new CancellationToken()); //Assert Mocker.GetMock <IAuthorRepository>().Verify(x => x.GetAuthorById(It.IsAny <Guid>()), Times.Once()); Mocker.GetMock <IBookRepository>().Verify(x => x.AddBook(It.IsAny <Book>()), Times.Never()); DomainNotifications.GetAll().Should().NotBeEmpty() .And.Contain(x => x == Messages.Book_AuthorShouldNotBeNull); }
public void WhenPartOne() { var subject = Mocker.CreateInstance <Solve>(); var input = AutoFixture.Create <string>(); var instructions = AutoFixture.CreateMany <Instruction>().ToList(); var endPosition = AutoFixture.Create <Position>(); Mocker.GetMock <IGetInput>().Setup(ige => ige.Get()).Returns(input); Mocker.GetMock <IGetInstructions>().Setup(ige => ige.Get(input)).Returns(instructions); Mocker.GetMock <IFollowInstructions>() .Setup(ife => ife.Follow( It.Is <Position>( pos => pos.Point == Point.North && pos.Coordinate.X == 0 && pos.Coordinate.Y == 0), instructions)) .Returns(endPosition); var result = subject.PartOne(); result.Should().Be(endPosition.Coordinate.GetDistanceFromZero()); }
public void GetByAddress_WhenNoPurchaseEvents_ExceptionShouldNotBeThrown() { Mocker .Setup <IExchangeEventEntity, ExchangeEventType>(x => x.Type) .Returns(ExchangeEventType.AddLiquidity); Mocker .Setup <IExchangeRepository, Task <IExchangeEntity> >(x => x.FindByAsync(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>())) .ReturnsAsync(Mocker.Get <IExchangeEntity>()); Mocker .Setup <IExchangeEventsRepository, Task <IEnumerable <IExchangeEventEntity> > >(x => x.GetForLastDayByExchangeAddressAsync(It.IsAny <string>())) .ReturnsAsync(new List <IExchangeEventEntity> { Mocker.Get <IExchangeEventEntity>() }); var service = Mocker.CreateInstance <TickerService>(); Assert.DoesNotThrowAsync(async() => await service.GetByAddress(It.IsAny <string>())); }
public async void HandleReturnBookCommand_WithValidInfos_ShouldReturnNoErrors() { //Arrange ReturnBookCommand returnBookCommand = new ReturnBookCommand(Guid.NewGuid().ToString()); var sut = Mocker.CreateInstance <ReturnBookCommandHandler>(); BookLoan bookLoan = BookLoanFactory.ReturnLoan(); bookLoan.Book.WithBookSituation(BookSituationEnum.Lent); Mocker.GetMock <IBookLoanRepository>() .Setup(p => p.GetByLoanId(It.IsAny <Guid>(), It.IsAny <bool>())) .Returns(() => Task.FromResult <BookLoan>(bookLoan)); //Act ReturnBookCommandResponseViewModel result = await sut.Handle(returnBookCommand, new CancellationToken()); //Assert DomainNotifications.GetAll().Should().BeEmpty(); Mocker.GetMock <IBookLoanRepository>().Verify(x => x.Update(It.IsAny <BookLoan>()), Times.Once()); }
public void WhenPartTwo() { var subject = Mocker.CreateInstance <Solve>(); var input = AutoFixture.Create <string>(); var instructions = AutoFixture.CreateMany <Instruction>().ToList(); var endPosition = AutoFixture.Create <Position>(); Mocker.GetMock <IGetInput>().Setup(ige => ige.Get()).Returns(input); Mocker.GetMock <IGetInstructions>().Setup(ige => ige.Get(input)).Returns(instructions); Mocker.GetMock <IFollowInstructions>() .Setup(ife => ife.Follow( It.Is <Position>( pos => pos.Point == Point.North && pos.Coordinate.X == 0 && pos.Coordinate.Y == 0), instructions)) .Returns(endPosition); var result = subject.PartTwo(); var expected = endPosition.PreviousCoordinates.GroupBy(coordinate => coordinate) .FirstOrDefault(group => group.Count() > 1) ?.Key.GetDistanceFromZero() ?? endPosition.Coordinate.GetDistanceFromZero(); result.Should().Be(expected); }
private TaskProxy CreateSut() => Mocker.CreateInstance <TaskProxy>();
protected void WithRealFileSystem() { Mocker.Use <IFileSystem>(Mocker.CreateInstance <FileSystem.FileSystem>()); }
private AuthenticationProxy CreateSut() => Mocker.CreateInstance <AuthenticationProxy>();
protected override FlowScreenWithLifecycleAdapter <TFlowScreen> BuildAdapter() { var adapter = new FlowScreenWithLifecycleAdapter <TFlowScreen>(Mocker.CreateInstance <TFlowScreen>(), Fixture); return(adapter); }
public void Setup() { Mocker.Use <IUrlPrompt>(Mocker.CreateInstance <UrlPrompt>()); }
public Given_a_MovieService() { SUT = Mocker.CreateInstance <MoviesService>(); }
private GroupProxy CreateSut() => Mocker.CreateInstance <GroupProxy>();