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 void ChaveCampeonato_DeveGerarFalhaAoObterParticipantesPosicaoSemChaveamento() { //Arrange var chave = ChaveEtapaBuilder.Novo().SemChaveamento().Build(); //Act Action act = () => chave.ObterParticipantesPosicao(); //Assert act.Should().Throw <ChaveNaoMontadaException>(); }
public void ChaveEtapa_DeveMontarChaveamentoComParticipantes(int qtdeParticipantes) { //Arrange var chave = ChaveEtapaBuilder.Novo().ComParticipantes(qtdeParticipantes).SemChaveamento().Build(); //Act var partidas = chave.MontarChaveamento(); //Assert partidas.Should().HaveCount(qtdeParticipantes / 2); }
public void ChaveCampeonato_DeveObterParticipantesPosicao() { //Arrange var participantes = ChaveEtapaBuilder.Novo().ComChaveFinalistas().ObterParticipantes(); var chave = ChaveEtapaBuilder.Novo().ComChaveFinalistas().Build(); //Act var participantesEtapa = chave.ObterParticipantesPosicao(); //Assert participantesEtapa.Should().BeEquivalentTo(participantes, opt => opt .Including(f => f.Nota) .Including(f => f.Titulo)); }
public void ChaveEtapa_DeveDisputarEtapaFinal() { //Arrange var chave = ChaveEtapaBuilder.Novo().ComChaveFinalistas().Build(); var finalista = ChaveEtapaBuilder.Novo().ObterFinalista(); //Act var finalistaEtapa = chave.Disputar().First(); //Assert finalistaEtapa.Should().BeEquivalentTo(finalista, opt => opt .Including(f => f.Nota) .Including(f => f.Titulo)); }
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()); }