Example #1
0
        protected override FlowInitializerWithLifecycleAdapter <TInitializer> BuildAdapter()
        {
            var adapter =
                new FlowInitializerWithLifecycleAdapter <TInitializer>(Mocker.CreateInstance <TInitializer>());

            return(adapter);
        }
Example #2
0
        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());
        }
Example #3
0
 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);
        }
Example #6
0
        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);
        }
Example #7
0
        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);
        }
Example #8
0
 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>();
 }
Example #9
0
        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());
        }
Example #11
0
        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]));
        }
Example #12
0
        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);
        }
Example #13
0
        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());
        }
Example #14
0
        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());
        }
Example #16
0
        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());
        }
Example #17
0
        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);
        }
Example #18
0
        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>()));
        }
Example #20
0
        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());
        }
Example #21
0
        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);
        }
Example #22
0
 private TaskProxy CreateSut() => Mocker.CreateInstance <TaskProxy>();
Example #23
0
 protected void WithRealFileSystem()
 {
     Mocker.Use <IFileSystem>(Mocker.CreateInstance <FileSystem.FileSystem>());
 }
Example #24
0
 private AuthenticationProxy CreateSut() => Mocker.CreateInstance <AuthenticationProxy>();
Example #25
0
        protected override FlowScreenWithLifecycleAdapter <TFlowScreen> BuildAdapter()
        {
            var adapter = new FlowScreenWithLifecycleAdapter <TFlowScreen>(Mocker.CreateInstance <TFlowScreen>(), Fixture);

            return(adapter);
        }
Example #26
0
 public void Setup()
 {
     Mocker.Use <IUrlPrompt>(Mocker.CreateInstance <UrlPrompt>());
 }
Example #27
0
 public Given_a_MovieService()
 {
     SUT = Mocker.CreateInstance <MoviesService>();
 }
Example #28
0
 private GroupProxy CreateSut() => Mocker.CreateInstance <GroupProxy>();