<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Ronnie G. Chagas</title>
    <description>The latest articles on DEV Community by Ronnie G. Chagas (@ronniegchagas).</description>
    <link>https://dev.to/ronniegchagas</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F601674%2F9491b3d2-5a43-4863-a487-e5eec9ca38cd.jpeg</url>
      <title>DEV Community: Ronnie G. Chagas</title>
      <link>https://dev.to/ronniegchagas</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ronniegchagas"/>
    <language>en</language>
    <item>
      <title>Como desfazer o último commit de um repositório git remoto?</title>
      <dc:creator>Ronnie G. Chagas</dc:creator>
      <pubDate>Thu, 05 Oct 2023 19:47:26 +0000</pubDate>
      <link>https://dev.to/ronniegchagas/como-desfazer-o-ultimo-commit-de-um-repositorio-git-remoto-1imj</link>
      <guid>https://dev.to/ronniegchagas/como-desfazer-o-ultimo-commit-de-um-repositorio-git-remoto-1imj</guid>
      <description>&lt;p&gt;Para desfazer o último commit de um repositório git remoto(Github, gitbucket, gitlab,...), você pode usar o comando &lt;code&gt;git reset&lt;/code&gt;, veremos o processo a seguir.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;ESTE PROESSO ABAIXO REMOVE DO REPOSITÓRIO REMOTO A ÚLTIMA  MODIFICAÇÃO. SIGA AS ETAPAS ABAIXO CASO SEJA ESTA A SUA NECESSIDADE.&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;




&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Verifique primeiro se você está na branch correta e que não tenha nenhuma modificação pendente para commitar.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Rode no terminal o seguinte comando para desfazer o último commit localmente:&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git reset HEAD^
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Forçe o push do commit local que foi revertido para o repositório git remoto a partir do comando:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git push origin +HEAD
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;🤯 🤩 😍&lt;/p&gt;

&lt;p&gt;Pronto! Acessando seu repositório remoto você já perceberá que o mesmo perdeu o último commit enviado.&lt;/p&gt;

&lt;p&gt;Voltando ao seu projeto pelo VS Code você perceberá que o mesmo indicará alguns arquivos para commitar, mas estes na verdade são os arquivos desfeitos pelos comandos acima. &lt;/p&gt;

&lt;p&gt;Caso não deseje ficar com nada desses arquivos, utilize o comando &lt;code&gt;git restore .&lt;/code&gt; para limpar todos os arquivos ou &lt;code&gt;git restore index.tsx&lt;/code&gt; para limpar um arquivo específico (nesse último caso será desfeito as alterações em index.tsx).&lt;/p&gt;

&lt;p&gt;Espero que este mini tutorial tenha alguma utilidade para você, assim como teve para mim 😁.&lt;/p&gt;

</description>
      <category>git</category>
      <category>github</category>
    </item>
    <item>
      <title>Mockando a propriedade window.screen com Jest</title>
      <dc:creator>Ronnie G. Chagas</dc:creator>
      <pubDate>Tue, 07 Mar 2023 20:02:09 +0000</pubDate>
      <link>https://dev.to/ronniegchagas/mockando-a-propriedade-windowscreen-com-jest-8fo</link>
      <guid>https://dev.to/ronniegchagas/mockando-a-propriedade-windowscreen-com-jest-8fo</guid>
      <description>&lt;p&gt;Para realizar um mock da propriedade window.screen e definir um valor padrão para realizar algum teste, basta usar utilizar a função &lt;code&gt;jest.spyOn&lt;/code&gt;, disponibilizada pela lib de testes &lt;strong&gt;&lt;a href="https://jestjs.io/pt-BR/"&gt;jest&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Por exemplo:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;jest.spyOn(window.screen, "width", "get").mockReturnValue(1000);
console.log(window.screen.width);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;O resultado para o console.log acima irá retornar &lt;code&gt;1000&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;O mesmo pode ser feito para a propriedade height.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Vamos ao exemplo:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;jest.spyOn(window.screen, "height", "get").mockReturnValue(500);
console.log(window.screen.height);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;O resultado para o console.log acima irá retornar &lt;code&gt;500&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;A seguir deixo um exemplo completo em React de uma implementação mockando a instância width da propriedade &lt;strong&gt;&lt;a href="https://developer.mozilla.org/en-US/docs/Web/API/Screen"&gt;Screen&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  React:
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;export const Menu = () =&amp;gt; {
  const showMenuDesktop = window.screen.width &amp;gt; 400;

  return (
    &amp;lt;&amp;gt;
      {showMenuDesktop &amp;amp;&amp;amp; (
        &amp;lt;MenuDesktop getByTestId="component-MenuDesktop" /&amp;gt;
      )}
    &amp;lt;/&amp;gt;
  );
};
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Teste unitário:
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;describe("Component MenuDesktop", () =&amp;gt; {
  it("NÃO deve renderizar MenuDesktop em tela pequena", () =&amp;gt; {
    jest.spyOn(window.screen, "width", "get").mockReturnValue(300);
    const { getByTestId } = render(&amp;lt;Menu/&amp;gt;);
    expect(getByTestId("component-MenuDesktop")).toBeFalsy();
  });

  it("Deve renderizar MenuDesktop em tela grande", () =&amp;gt; {
    jest.spyOn(window.screen, "width", "get").mockReturnValue(1024);
    const { getByTestId } = render(&amp;lt;Menu/&amp;gt;);
    expect(getByTestId("component-MenuDesktop")).toBeTruthy();
  });
});
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;💬 Dúvidas, sugestões ou críticas, utilize os comentários abaixo! 😉&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>typescript</category>
      <category>jest</category>
      <category>react</category>
    </item>
  </channel>
</rss>
