@@ -630,7 +630,8 @@ TEST_CLASS(CodeNotesViewModel_Tests)
630
630
notes.Notes ().GetItemAt (7 )->SetSelected (true ); // 0x22
631
631
notes.Notes ().GetItemAt (13 )->SetSelected (true ); // 0x40
632
632
633
- Assert::IsTrue (notes.IsSelectionUnpublished ());
633
+ Assert::IsTrue (notes.CanPublishCurrentAddressNote ());
634
+ Assert::IsTrue (notes.CanRevertCurrentAddressNote ());
634
635
635
636
bool bWindowSeen = false ;
636
637
notes.mockDesktop .ExpectWindow <ra::ui::viewmodels::MessageBoxViewModel>([&bWindowSeen](ra::ui::viewmodels::MessageBoxViewModel& vmMessageBox)
@@ -647,7 +648,8 @@ TEST_CLASS(CodeNotesViewModel_Tests)
647
648
Assert::IsTrue (bWindowSeen);
648
649
649
650
AssertRow (notes, 4 , 0x0016 , L" 0x0016" , L" [32-bit] Score" );
650
- Assert::IsFalse (notes.IsSelectionUnpublished ());
651
+ Assert::IsFalse (notes.CanPublishCurrentAddressNote ());
652
+ Assert::IsFalse (notes.CanRevertCurrentAddressNote ());
651
653
}
652
654
653
655
TEST_METHOD (TestRevertSingleReject)
@@ -668,7 +670,8 @@ TEST_CLASS(CodeNotesViewModel_Tests)
668
670
notes.Notes ().GetItemAt (7 )->SetSelected (true ); // 0x22
669
671
notes.Notes ().GetItemAt (13 )->SetSelected (true ); // 0x40
670
672
671
- Assert::IsTrue (notes.IsSelectionUnpublished ());
673
+ Assert::IsTrue (notes.CanPublishCurrentAddressNote ());
674
+ Assert::IsTrue (notes.CanRevertCurrentAddressNote ());
672
675
673
676
bool bWindowSeen = false ;
674
677
notes.mockDesktop .ExpectWindow <ra::ui::viewmodels::MessageBoxViewModel>([&bWindowSeen](ra::ui::viewmodels::MessageBoxViewModel&)
@@ -681,7 +684,8 @@ TEST_CLASS(CodeNotesViewModel_Tests)
681
684
Assert::IsTrue (bWindowSeen);
682
685
683
686
AssertRow (notes, 4 , 0x0016 , L" 0x0016" , L" Changed 20" );
684
- Assert::IsTrue (notes.IsSelectionUnpublished ());
687
+ Assert::IsTrue (notes.CanPublishCurrentAddressNote ());
688
+ Assert::IsTrue (notes.CanRevertCurrentAddressNote ());
685
689
}
686
690
687
691
TEST_METHOD (TestRevertMultiple)
@@ -702,7 +706,8 @@ TEST_CLASS(CodeNotesViewModel_Tests)
702
706
notes.Notes ().GetItemAt (7 )->SetSelected (true ); // 0x22
703
707
notes.Notes ().GetItemAt (13 )->SetSelected (true ); // 0x40
704
708
705
- Assert::IsTrue (notes.IsSelectionUnpublished ());
709
+ Assert::IsTrue (notes.CanPublishCurrentAddressNote ());
710
+ Assert::IsTrue (notes.CanRevertCurrentAddressNote ());
706
711
707
712
bool bWindowSeen = false ;
708
713
notes.mockDesktop .ExpectWindow <ra::ui::viewmodels::MessageBoxViewModel>([&bWindowSeen](ra::ui::viewmodels::MessageBoxViewModel& vmMessageBox)
@@ -720,7 +725,8 @@ TEST_CLASS(CodeNotesViewModel_Tests)
720
725
721
726
AssertRow (notes, 4 , 0x0016 , L" 0x0016" , L" [32-bit] Score" );
722
727
AssertRow (notes, 13 , 0x0040 , L" 0x0040\n - 0x0049" , L" [10 bytes] Inventory" );
723
- Assert::IsFalse (notes.IsSelectionUnpublished ());
728
+ Assert::IsFalse (notes.CanPublishCurrentAddressNote ());
729
+ Assert::IsFalse (notes.CanRevertCurrentAddressNote ());
724
730
}
725
731
726
732
TEST_METHOD (TestPublishSingle)
@@ -742,7 +748,8 @@ TEST_CLASS(CodeNotesViewModel_Tests)
742
748
notes.Notes ().GetItemAt (7 )->SetSelected (true ); // 0x22
743
749
notes.Notes ().GetItemAt (13 )->SetSelected (true ); // 0x40
744
750
745
- Assert::IsTrue (notes.IsSelectionUnpublished ());
751
+ Assert::IsTrue (notes.CanPublishCurrentAddressNote ());
752
+ Assert::IsTrue (notes.CanRevertCurrentAddressNote ());
746
753
747
754
bool bWindowSeen = false ;
748
755
notes.mockDesktop .ExpectWindow <ra::ui::viewmodels::MessageBoxViewModel>([&bWindowSeen](ra::ui::viewmodels::MessageBoxViewModel&)
@@ -755,12 +762,51 @@ TEST_CLASS(CodeNotesViewModel_Tests)
755
762
Assert::IsFalse (bWindowSeen);
756
763
757
764
AssertRow (notes, 4 , 0x0016 , L" 0x0016" , L" Changed 20" );
758
- Assert::IsFalse (notes.IsSelectionUnpublished ());
765
+ Assert::IsFalse (notes.CanPublishCurrentAddressNote ());
766
+ Assert::IsFalse (notes.CanRevertCurrentAddressNote ());
759
767
760
768
Assert::AreEqual ({1 }, notes.GetPublishedAddresses ().size ());
761
769
Assert::AreEqual ({0x0016 }, notes.GetPublishedAddresses ().at (0 ));
762
770
}
763
771
772
+ TEST_METHOD (TestPublishSingleOffline)
773
+ {
774
+ CodeNotesViewModelHarness notes;
775
+ notes.mockConfiguration .SetFeatureEnabled (ra::services::Feature::Offline, true );
776
+ notes.PopulateNotes ();
777
+ notes.PreparePublish ();
778
+ notes.SetIsVisible (true );
779
+
780
+ Assert::AreEqual ({ 14U }, notes.Notes ().Count ());
781
+ Assert::AreEqual (std::wstring (L" " ), notes.GetFilterValue ());
782
+ Assert::AreEqual (std::wstring (L" 14/14" ), notes.GetResultCount ());
783
+
784
+ notes.mockGameContext .Assets ().FindCodeNotes ()->SetCodeNote (0x0016 , L" Changed 20" );
785
+ notes.mockGameContext .Assets ().FindCodeNotes ()->SetCodeNote (0x0031 , L" Changed 49" );
786
+
787
+ notes.Notes ().GetItemAt (0 )->SetSelected (true ); // 0x10
788
+ notes.Notes ().GetItemAt (4 )->SetSelected (true ); // 0x16
789
+ notes.Notes ().GetItemAt (7 )->SetSelected (true ); // 0x22
790
+ notes.Notes ().GetItemAt (13 )->SetSelected (true ); // 0x40
791
+
792
+ Assert::IsFalse (notes.CanPublishCurrentAddressNote ());
793
+ Assert::IsTrue (notes.CanRevertCurrentAddressNote ());
794
+
795
+ bool bWindowSeen = false ;
796
+ notes.mockDesktop .ExpectWindow <ra::ui::viewmodels::MessageBoxViewModel>([&bWindowSeen](ra::ui::viewmodels::MessageBoxViewModel&)
797
+ {
798
+ bWindowSeen = true ;
799
+ return ra::ui::DialogResult::No;
800
+ });
801
+
802
+ notes.PublishSelected ();
803
+ Assert::IsFalse (bWindowSeen);
804
+
805
+ AssertRow (notes, 4 , 0x0016 , L" 0x0016" , L" Changed 20" );
806
+ Assert::IsFalse (notes.CanPublishCurrentAddressNote ());
807
+ Assert::IsTrue (notes.CanRevertCurrentAddressNote ());
808
+ }
809
+
764
810
TEST_METHOD (TestPublishMultipleApprove)
765
811
{
766
812
CodeNotesViewModelHarness notes;
@@ -780,7 +826,8 @@ TEST_CLASS(CodeNotesViewModel_Tests)
780
826
notes.Notes ().GetItemAt (7 )->SetSelected (true ); // 0x22
781
827
notes.Notes ().GetItemAt (13 )->SetSelected (true ); // 0x40
782
828
783
- Assert::IsTrue (notes.IsSelectionUnpublished ());
829
+ Assert::IsTrue (notes.CanPublishCurrentAddressNote ());
830
+ Assert::IsTrue (notes.CanRevertCurrentAddressNote ());
784
831
785
832
bool bWindowSeen = false ;
786
833
notes.mockDesktop .ExpectWindow <ra::ui::viewmodels::MessageBoxViewModel>([&bWindowSeen](ra::ui::viewmodels::MessageBoxViewModel& vmMessageBox)
@@ -798,7 +845,8 @@ TEST_CLASS(CodeNotesViewModel_Tests)
798
845
799
846
AssertRow (notes, 4 , 0x0016 , L" 0x0016" , L" Changed 20" );
800
847
AssertRow (notes, 13 , 0x0040 , L" 0x0040" , L" Changed 64" );
801
- Assert::IsFalse (notes.IsSelectionUnpublished ());
848
+ Assert::IsFalse (notes.CanPublishCurrentAddressNote ());
849
+ Assert::IsFalse (notes.CanRevertCurrentAddressNote ());
802
850
803
851
Assert::AreEqual ({2 }, notes.GetPublishedAddresses ().size ());
804
852
Assert::AreEqual ({0x0016 }, notes.GetPublishedAddresses ().at (0 ));
@@ -824,7 +872,8 @@ TEST_CLASS(CodeNotesViewModel_Tests)
824
872
notes.Notes ().GetItemAt (7 )->SetSelected (true ); // 0x22
825
873
notes.Notes ().GetItemAt (13 )->SetSelected (true ); // 0x40
826
874
827
- Assert::IsTrue (notes.IsSelectionUnpublished ());
875
+ Assert::IsTrue (notes.CanPublishCurrentAddressNote ());
876
+ Assert::IsTrue (notes.CanRevertCurrentAddressNote ());
828
877
829
878
bool bWindowSeen = false ;
830
879
notes.mockDesktop .ExpectWindow <ra::ui::viewmodels::MessageBoxViewModel>([&bWindowSeen](ra::ui::viewmodels::MessageBoxViewModel& vmMessageBox)
@@ -842,7 +891,8 @@ TEST_CLASS(CodeNotesViewModel_Tests)
842
891
843
892
AssertRow (notes, 4 , 0x0016 , L" 0x0016" , L" Changed 20" );
844
893
AssertRow (notes, 13 , 0x0040 , L" 0x0040" , L" Changed 64" );
845
- Assert::IsTrue (notes.IsSelectionUnpublished ());
894
+ Assert::IsTrue (notes.CanPublishCurrentAddressNote ());
895
+ Assert::IsTrue (notes.CanRevertCurrentAddressNote ());
846
896
847
897
Assert::AreEqual ({0 }, notes.GetPublishedAddresses ().size ());
848
898
}
0 commit comments