public async Task Get_DeveRetornarCache_QuandoDisponivel() { //Arrange IEnumerable <FilmeModel> cache; A.CallTo(() => _apiFixture.MemoryCacheWrapperFake .TryGetValue(_systemSettings.FilmesCacheKey, out cache)) .CallsBaseMethod(); var chaveCampeonato = ChaveClassificacaoBuilder.Novo().ComParticipantesFixos().Build(); var participantes = chaveCampeonato.ObterParticipantes(); _wireMockServer .Given(_request) .RespondWith(Response.Create().WithSuccess().WithBodyAsJson(participantes)); //Act await _httpClient.GetAsync(_endpoint); _wireMockServer.Reset(); _wireMockServer .Given(_request) .RespondWith(Response.Create().WithNotFound()); var responseApiCache = await _httpClient.GetAsync(_endpoint); //Assert responseApiCache.Should().Be200Ok().And.BeAs(participantes); }
public async Task Post_DeveRetornarOk_QuandoRequestForValido() { //Arrange var chaveCampeonato = ChaveClassificacaoBuilder.Novo().ComParticipantesFixos().Build(); var participantes = chaveCampeonato.ObterParticipantes(); var chaveFinalistas = ChaveEtapaBuilder.Novo().ComChaveFinalistas().Build(); var finalistas = chaveFinalistas.ObterParticipantes().Select(f => new { f.Titulo, f.Nota }).ToArray(); var request = participantes.Select(p => new CampeonatoRequest { IdFilme = p.Id }).ToArray(); _wireMockServer .Given(Request .Create() .WithPath(new WildcardMatcher(ConfigManager.ApiFilmesSettings.EndpointFilmes)) .UsingGet()) .RespondWith(Response .Create() .WithSuccess() .WithBodyAsJson(participantes)); //Act var response = await _httpClient.PostAsync(_endpoint, request.AsHttpContent()); //Assert response.Should().Be200Ok().And.BeAs(finalistas); }
public CampeonatoDominioTests() { _filmeDominioFake = A.Fake <IFilmeDominio>(); _campeonatoDominio = new CampeonatoDominio(Options.Create(_systemSettings), _filmeDominioFake); _participantes = ChaveClassificacaoBuilder.Novo().ComParticipantesFixos().ObterParticipantes(); A.CallTo(() => _filmeDominioFake.ObterFilmesAsync()).Returns(_participantes); }
public void ChaveCampeonato_DeveGerarFalhaAoGerarChaveComListaVaziaDeParticipantes() { //Arrange var participantesInvalidos = new List <FilmeModel>(); //Act Action act = () => { ChaveClassificacaoBuilder.Novo().ComParticipantes(participantesInvalidos).Build(); }; //Assert act.Should().Throw <Exception>().WithInnerException <QtdeIncorretaRegraChaveamentoException>(); }
public void ChaveCampeonato_DeveGerarFalhaComNumeroParticipantesIncorreto() { //Arrange var qtdeParticipantesIncorreta = UtilFaker.FakerHub.Random.Odd(1, 99); //Act Action act = () => { ChaveClassificacaoBuilder.Novo().ComParticipantes(qtdeParticipantesIncorreta).Build(); }; //Assert act.Should().Throw <Exception>().WithInnerException <QtdeIncorretaRegraChaveamentoException>(); }
public void ChaveClassificacao_DeveMontarChaveamentoComQtdeParticipantes(int qtdeParticipantes) { //Arrange var filmes = _filmeModelFaker.Generate(qtdeParticipantes); var chave = ChaveClassificacaoBuilder.Novo().ComParticipantes(filmes).SemChaveamento().Build(); //Act var partidas = chave.MontarChaveamento(); //Assert partidas.Should().HaveCount(qtdeParticipantes / 2); }
public void ChaveClassificacao_DeveDisputarEtapaClassificacao() { //Arrange var chave = ChaveClassificacaoBuilder.Novo().ComChaveClassificacao().Build(); var finalistas = ChaveEtapaBuilder.Novo().ComChaveEtapa1().ObterParticipantes(); //Act var finalistasEtapa = chave.Disputar(); //Assert finalistasEtapa.Should().BeEquivalentTo(finalistas, opt => opt .Including(f => f.Nota) .Including(f => f.Titulo) .WithStrictOrdering()); }
public async Task Get_DeveRetornarOk_QuandoRequestForValido() { //Arrange var chaveCampeonato = ChaveClassificacaoBuilder.Novo().ComParticipantesFixos().Build(); var participantes = chaveCampeonato.ObterParticipantes(); _wireMockServer .Given(_request) .RespondWith(Response.Create().WithSuccess().WithBodyAsJson(participantes)); //Act var response = await _httpClient.GetAsync(_endpoint); //Assert response.Should().Be200Ok().And.BeAs(participantes); }