<?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: Anna Leushchenko 👩‍💻💙📱🇺🇦</title>
    <description>The latest articles on DEV Community by Anna Leushchenko 👩‍💻💙📱🇺🇦 (@foxanna).</description>
    <link>https://dev.to/foxanna</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%2F1065537%2F1fec4b93-97c6-4d5c-86f3-4aba02cd02c7.png</url>
      <title>DEV Community: Anna Leushchenko 👩‍💻💙📱🇺🇦</title>
      <link>https://dev.to/foxanna</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/foxanna"/>
    <language>en</language>
    <item>
      <title>Hocus pocus: painless headers customization of REST API requests in Flutter</title>
      <dc:creator>Anna Leushchenko 👩‍💻💙📱🇺🇦</dc:creator>
      <pubDate>Wed, 08 Nov 2023 11:24:52 +0000</pubDate>
      <link>https://dev.to/foxanna/hocus-pocus-painless-headers-customization-of-rest-api-requests-in-flutter-2hnn</link>
      <guid>https://dev.to/foxanna/hocus-pocus-painless-headers-customization-of-rest-api-requests-in-flutter-2hnn</guid>
      <description>&lt;p&gt;The vast majority of applications consume RESTful APIs, exchanging data in JSON format, and appending some configuration in headers. The vanilla solution includes a lot of repetitive code and is a perfect target for code optimization, especially in big projects.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Flutter&lt;/strong&gt; provides an unbelievably productive development experience, it’s an undeniable fact. Still, using tools like code generation combined with the knowledge of Dart language features and packages ecosystem may take it even further.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ko9NbJ24--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0q4ktfwkynjgiyab1cju.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ko9NbJ24--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0q4ktfwkynjgiyab1cju.png" alt="Code Sample" width="800" height="1422"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It's possible to significantly minimize the amount of required code while keeping all the functionality and go from “before” to “after” and beyond in just a few steps, leveraging code generation with &lt;code&gt;retrofit&lt;/code&gt; package, using API request interceptors from &lt;code&gt;dio&lt;/code&gt; package, and creating custom annotations thanks to Dart language features.&lt;/p&gt;

&lt;p&gt;Learn more about this approach in my blog "Hocus pocus: painless headers customization of REST API requests in Flutter" &lt;a href="https://link.medium.com/1PFJriUYvEb"&gt;https://link.medium.com/1PFJriUYvEb&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--7sYqABZB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tx55zyxnh7ric14sgyye.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--7sYqABZB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tx55zyxnh7ric14sgyye.png" alt="Cover" width="800" height="1422"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>dart</category>
      <category>flutter</category>
    </item>
    <item>
      <title>Assertions In Dart And Flutter Tests: An Ultimate Cheat Sheet</title>
      <dc:creator>Anna Leushchenko 👩‍💻💙📱🇺🇦</dc:creator>
      <pubDate>Sat, 15 Apr 2023 12:43:15 +0000</pubDate>
      <link>https://dev.to/foxanna/assertions-in-dart-and-flutter-tests-an-ultimate-cheat-sheet-1724</link>
      <guid>https://dev.to/foxanna/assertions-in-dart-and-flutter-tests-an-ultimate-cheat-sheet-1724</guid>
      <description>&lt;p&gt;Whether you are creating unit, widget, or integration tests for Flutter applications, the end goal of any test is asserting that the reality matches the expectations. Here is an ultimate cheat sheet for assertions in Dart and Flutter tests with many details explained!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fshf02a970o87k9h6nvuu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fshf02a970o87k9h6nvuu.png" alt="Assertions in Dart and Flutter tests: an ultimate cheat sheet"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Find the high-res image &lt;a href="https://github.com/foxanna/tests_assertions_cheat_sheet/blob/main/cheat-sheet.png" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;And read all the details in these two posts:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://invertase.io/blog/assertions-in-dart-and-flutter-tests-an-ultimate-cheat-sheet" rel="noopener noreferrer"&gt;Assertions In Dart And Flutter Tests: An (Almost) Ultimate Cheat Sheet&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://invertase.io/blog/assertions-in-dart-and-flutter-tests-now-for-sure-an-ultimate-cheat-sheet" rel="noopener noreferrer"&gt;Assertions In Dart And Flutter Tests: An (Now For Sure) Ultimate Cheat Sheet&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All the code is available on &lt;a href="https://github.com/foxanna/tests_assertions_cheat_sheet" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt; or in the interactive &lt;a href="https://zapp.run/github/foxanna/tests_assertions_cheat_sheet/tree/main/test_assertions" rel="noopener noreferrer"&gt;Zapp&lt;/a&gt;.&lt;/p&gt;




&lt;p&gt;Hi! 👋🏻 I’m Anna, Google Developer Expert in Dart and Flutter. Follow me on &lt;a href="https://twitter.com/AnnaLeushchenko" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt;, &lt;a href="https://github.com/foxanna" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;, &lt;a href="https://www.youtube.com/@foxanna" rel="noopener noreferrer"&gt;YouTube&lt;/a&gt;, &lt;a href="https://medium.com/@foxanna" rel="noopener noreferrer"&gt;Medium&lt;/a&gt; to get notifications about my latest work.&lt;/p&gt;

</description>
      <category>dart</category>
      <category>flutter</category>
      <category>testing</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
