コード例 #1
0
        public void Deve_obter_crypto_moeda_pelo_identificador()
        {
            var id = _faker.Random.String2(8);
            var valorDaCryptoMoeda  = _faker.Random.Decimal();
            var nomeDaCryptoMoeda   = _faker.Random.String2(8);
            var cryptoMoedaEsperada = new CryptoMoeda(id, nomeDaCryptoMoeda, valorDaCryptoMoeda);

            _cryptoMoedaRepositorio.Setup(cmr => cmr.ObterPeloIdentificador(id)).Returns(cryptoMoedaEsperada);

            var cryptoMoedaObtida = _consultaDeCryptoMoeda.ObterCryptoMoedaPeloIdentificador(id);

            cryptoMoedaEsperada.ToExpectedObject().ShouldMatch(cryptoMoedaObtida);
        }
コード例 #2
0
        public async Task Deve_inserir_uma_crypto_moeda_async()
        {
            var id = _faker.Random.String2(8);
            var nomeDaCryptoMoeda  = _faker.Random.String2(8);
            var valorDaCryptoMoeda = _faker.Random.Decimal();
            var cryptoMoeda        = new CryptoMoeda(id, nomeDaCryptoMoeda, valorDaCryptoMoeda);

            _cryptoMoedaRepositorio.Setup(cmr => cmr.InserirItemAsync(It.IsAny <CryptoMoeda>()));

            await _controleDeCryptoMoeda.InserirCryptoMoedaAsync(cryptoMoeda);

            _cryptoMoedaRepositorio.Verify(cmr => cmr.InserirItemAsync(cryptoMoeda));
        }
コード例 #3
0
        public async Task Deve_inserir_nova_crypto_moeda()
        {
            const string idDaCryptoMoeda = "546c776b3e23f5f2ebdd3b04";
            var          valorDoEtherium = new decimal(895413.47);
            var          etherium        = new CryptoMoeda(idDaCryptoMoeda, "Etherium", valorDoEtherium);
            var          httpContent     = new StringContent(JsonConvert.SerializeObject(etherium), Encoding.UTF8, "application/json");

            var resposta = await _cliente.PostAsync(_urlBaseDoEndpoint, httpContent);

            var cryptoMoedaQueFoiSalva = _collection.Find(x => x.Id == idDaCryptoMoeda).FirstOrDefault();

            Assert.Equal(HttpStatusCode.OK, resposta.StatusCode);
            Assert.NotNull(cryptoMoedaQueFoiSalva);
            _runner.Dispose();
        }
コード例 #4
0
        public async Task <IActionResult> InserirCryptoMoeda([FromBody] CryptoMoeda cryptoMoeda)
        {
            try
            {
                await _controleDeCryptoMoeda.InserirCryptoMoedaAsync(cryptoMoeda);

                await _unitOfWork.Commit();

                return(Ok());
            }
            catch
            {
                return(Problem());
            }
        }
コード例 #5
0
        public void Deve_criar_uma_crypto_moeda()
        {
            var id    = _faker.Random.Int(0).ToString();
            var nome  = _faker.Random.String2(8);
            var valor = _faker.Random.Decimal();
            var cryptoMoedaEsperada = new
            {
                Id    = id,
                Nome  = nome,
                Valor = valor
            };

            var cryptoMoedaObtida = new CryptoMoeda(id, nome, valor);

            cryptoMoedaEsperada.ToExpectedObject().ShouldMatch(cryptoMoedaObtida);
        }
コード例 #6
0
        static void Main()
        {
            var produtorRabbitMq = ClienteRabbitMqFactory.Criar();

            var bitcoin = new CryptoMoeda("154654879879456", "Bitcoin", new decimal(696598.82));
            var moedasParaSeremAtualizadas = new List <CryptoMoeda>
            {
                bitcoin
            };

            moedasParaSeremAtualizadas.ForEach(m =>
            {
                var mensagem = JsonConvert.SerializeObject(m);
                produtorRabbitMq.Publicar(mensagem);
            });

            Console.ReadKey();
        }
コード例 #7
0
        public async Task Deve_conseguir_obter_a_crypto_moeda_informando_o_id()
        {
            const string idDaCryptoMoeda     = "546c776b3e23f5f2ebdd3b03";
            var          valorDoRipple       = new decimal(895413.47);
            var          cryptoMoedaEsperada = new CryptoMoeda(idDaCryptoMoeda, "Ripple", valorDoRipple);
            await _collection.InsertOneAsync(cryptoMoedaEsperada);

            var url = _urlBaseDoEndpoint + idDaCryptoMoeda;

            var resposta = await _cliente.GetAsync(url);

            var resultadoObtidoEmString = await resposta.Content.ReadAsStringAsync();

            var cryptoMoedaObtida = JsonConvert.DeserializeObject <CryptoMoeda>(resultadoObtidoEmString);

            Assert.Equal(HttpStatusCode.OK, resposta.StatusCode);
            cryptoMoedaEsperada.ToExpectedObject().ShouldMatch(cryptoMoedaObtida);
            _runner.Dispose();
        }
コード例 #8
0
 public async Task InserirCryptoMoedaAsync(CryptoMoeda cryptoMoeda) => await _cryptoMoedaRepositorio.InserirItemAsync(cryptoMoeda);
コード例 #9
0
 public async Task InserirItemAsync(CryptoMoeda item) => await _collection.InsertOneAsync(item);